#include "DatasmithFacadeCSharp.h"

#ifndef SWIGCSHARP
#define SWIGCSHARP
#endif

#ifdef __cplusplus

template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

template <typename T> T SwigValueInit() {
  return T();
}
#endif

#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)

#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) 
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

#if defined(__GNUC__)
#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#    ifndef GCC_HASCLASSVISIBILITY
#      define GCC_HASCLASSVISIBILITY
#    endif
#  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

#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif

#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
#endif

#ifdef __INTEL_COMPILER
# pragma warning disable 592
#endif

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

typedef enum {
  SWIG_CSharpApplicationException,
  SWIG_CSharpArithmeticException,
  SWIG_CSharpDivideByZeroException,
  SWIG_CSharpIndexOutOfRangeException,
  SWIG_CSharpInvalidCastException,
  SWIG_CSharpInvalidOperationException,
  SWIG_CSharpIOException,
  SWIG_CSharpNullReferenceException,
  SWIG_CSharpOutOfMemoryException,
  SWIG_CSharpOverflowException,
  SWIG_CSharpSystemException
} SWIG_CSharpExceptionCodes;

typedef enum {
  SWIG_CSharpArgumentException,
  SWIG_CSharpArgumentNullException,
  SWIG_CSharpArgumentOutOfRangeException
} SWIG_CSharpExceptionArgumentCodes;

typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);

typedef struct {
  SWIG_CSharpExceptionCodes code;
  SWIG_CSharpExceptionCallback_t callback;
} SWIG_CSharpException_t;

typedef struct {
  SWIG_CSharpExceptionArgumentCodes code;
  SWIG_CSharpExceptionArgumentCallback_t callback;
} SWIG_CSharpExceptionArgument_t;

static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
  { SWIG_CSharpApplicationException, NULL },
  { SWIG_CSharpArithmeticException, NULL },
  { SWIG_CSharpDivideByZeroException, NULL },
  { SWIG_CSharpIndexOutOfRangeException, NULL },
  { SWIG_CSharpInvalidCastException, NULL },
  { SWIG_CSharpInvalidOperationException, NULL },
  { SWIG_CSharpIOException, NULL },
  { SWIG_CSharpNullReferenceException, NULL },
  { SWIG_CSharpOutOfMemoryException, NULL },
  { SWIG_CSharpOverflowException, NULL },
  { SWIG_CSharpSystemException, NULL }
};

static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
  { SWIG_CSharpArgumentException, NULL },
  { SWIG_CSharpArgumentNullException, NULL },
  { SWIG_CSharpArgumentOutOfRangeException, NULL }
};

static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
    callback = SWIG_csharp_exceptions[code].callback;
  }
  callback(msg);
}

static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
    callback = SWIG_csharp_exceptions_argument[code].callback;
  }
  callback(msg, param_name);
}

#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_DatasmithFacadeCSharp(
                                                SWIG_CSharpExceptionCallback_t applicationCallback,
                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
                                                SWIG_CSharpExceptionCallback_t ioCallback,
                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
                                                SWIG_CSharpExceptionCallback_t systemCallback) {
  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
}

#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_DatasmithFacadeCSharp(
                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
}

typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;

#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_DatasmithFacadeCSharp(SWIG_CSharpStringHelperCallback callback) {
  SWIG_csharp_string_callback = callback;
}

#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else

typedef void * (SWIGSTDCALL* SWIG_CSharpWStringHelperCallback)(const wchar_t *);
static SWIG_CSharpWStringHelperCallback SWIG_csharp_wstring_callback = NULL;

#ifdef __cplusplus
extern "C"
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterWStringCallback_DatasmithFacadeCSharp(SWIG_CSharpWStringHelperCallback callback) {
  SWIG_csharp_wstring_callback = callback;
}

#include "DatasmithFacadeElement.h"
#include "DatasmithFacadeMaterial.h"
#include "DatasmithFacadeMesh.h"
#include "DatasmithFacadeActor.h"
#include "DatasmithFacadeActorCamera.h"
#include "DatasmithFacadeActorLight.h"
#include "DatasmithFacadeActorMesh.h"
#include "DatasmithFacadeScene.h"
#include "DatasmithFacadeLog.h"

#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetCoordinateSystemType(int jarg1) {
  FDatasmithFacadeElement::ECoordinateSystemType arg1 ;

  arg1 = (FDatasmithFacadeElement::ECoordinateSystemType)jarg1; 
  FDatasmithFacadeElement::SetCoordinateSystemType(arg1);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetWorldUnitScale(float jarg1) {
  float arg1 ;

  arg1 = (float)jarg1; 
  FDatasmithFacadeElement::SetWorldUnitScale(arg1);
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeElement(void * jarg1) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_HashName(void * jarg1) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  (arg1)->HashName();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetName((TCHAR const *)arg2);
}

SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeElement_GetName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *result = 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeElement const *)arg1)->GetName();
  jresult = (wchar_t *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetLabel(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLabel((TCHAR const *)arg2);
}

SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeElement_GetLabel(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *result = 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeElement const *)arg1)->GetLabel();
  jresult = (wchar_t *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMaterial(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterial *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeMaterial *)new FDatasmithFacadeMaterial((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterial(void * jarg1) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_SetMasterMaterialType(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  FDatasmithFacadeMaterial::EMasterMaterialType arg2 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeMaterial::EMasterMaterialType)jarg2; 
  (arg1)->SetMasterMaterialType(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddColor__SWIG_0(void * jarg1, wchar_t * jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5, unsigned char jarg6) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  unsigned char arg6 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  arg6 = (unsigned char)jarg6; 
  (arg1)->AddColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddColor__SWIG_1(void * jarg1, wchar_t * jarg2, float jarg3, float jarg4, float jarg5, float jarg6) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  float arg6 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  arg6 = (float)jarg6; 
  (arg1)->AddColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddTexture__SWIG_0(void * jarg1, wchar_t * jarg2, wchar_t * jarg3, int jarg4) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterial::ETextureMode arg4 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (FDatasmithFacadeMaterial::ETextureMode)jarg4; 
  (arg1)->AddTexture((TCHAR const *)arg2,(TCHAR const *)arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddTexture__SWIG_1(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddTexture((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddString((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddFloat(void * jarg1, wchar_t * jarg2, float jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->AddFloat((TCHAR const *)arg2,arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddBoolean(void * jarg1, wchar_t * jarg2, unsigned int jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  bool arg3 ;

  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->AddBoolean((TCHAR const *)arg2,arg3);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMesh(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeMesh *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeMesh *)new FDatasmithFacadeMesh((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMesh(void * jarg1) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddVertex(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddVertex(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddUV(void * jarg1, int jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddUV(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_0(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int arg5 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  (arg1)->AddTriangle(arg2,arg3,arg4,arg5);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_1(void * jarg1, int jarg2, int jarg3, int jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  (arg1)->AddTriangle(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_2(void * jarg1, int jarg2, int jarg3, int jarg4, wchar_t * jarg5) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  TCHAR *arg5 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (TCHAR *)jarg5; 
  (arg1)->AddTriangle(arg2,arg3,arg4,(TCHAR const *)arg5);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddNormal(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddNormal(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddMaterial(void * jarg1, int jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMaterial(arg2,(TCHAR const *)arg3);
}

SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMesh_GetVertexCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int result;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  result = (int)((FDatasmithFacadeMesh const *)arg1)->GetVertexCount();
  jresult = result; 
  return jresult;
}

SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMesh_GetTriangleCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int result;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  result = (int)((FDatasmithFacadeMesh const *)arg1)->GetTriangleCount();
  jresult = result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActor(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActor *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActor *)new FDatasmithFacadeActor((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActor(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_KeepActor(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  (arg1)->KeepActor();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetWorldTransform(void * jarg1, float* jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = (float *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = jarg2;
  (arg1)->SetWorldTransform((float const *)arg2);

}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetLayer(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLayer((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddTag(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->AddTag((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataBoolean(void * jarg1, wchar_t * jarg2, unsigned int jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  bool arg3 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->AddMetadataBoolean((TCHAR const *)arg2,arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataColor(void * jarg1, wchar_t * jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5, unsigned char jarg6) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  unsigned char arg6 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  arg6 = (unsigned char)jarg6; 
  (arg1)->AddMetadataColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataFloat(void * jarg1, wchar_t * jarg2, float jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->AddMetadataFloat((TCHAR const *)arg2,arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataTexture(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataTexture((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataVector(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataVector((TCHAR const *)arg2,(TCHAR const *)arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetIsComponent(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  bool arg2 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetIsComponent(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddChild(void * jarg1, void * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  FDatasmithFacadeActor *arg2 = (FDatasmithFacadeActor *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (FDatasmithFacadeActor *)jarg2; 
  (arg1)->AddChild(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SanitizeActorHierarchyNames(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;

  arg1 = (FDatasmithFacadeActor *)jarg1; 
  (arg1)->SanitizeActorHierarchyNames();
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorCamera(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorCamera *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorCamera *)new FDatasmithFacadeActorCamera((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorCamera(void * jarg1) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetCameraPosition(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetCameraPosition(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetCameraRotation(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  float arg6 ;
  float arg7 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  arg6 = (float)jarg6; 
  arg7 = (float)jarg7; 
  (arg1)->SetCameraRotation(arg2,arg3,arg4,arg5,arg6,arg7);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetSensorWidth(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSensorWidth(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetAspectRatio(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAspectRatio(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocusDistance__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetFocusDistance(arg2,arg3,arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocusDistance__SWIG_1(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetFocusDistance(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocalLength__SWIG_0(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetFocalLength(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocalLength__SWIG_1(void * jarg1, float jarg2, unsigned int jarg3) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  bool arg3 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->SetFocalLength(arg2,arg3);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetLookAtActor(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLookAtActor((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetLookAtAllowRoll(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  bool arg2 ;

  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetLookAtAllowRoll(arg2);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorLight(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorLight *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorLight *)new FDatasmithFacadeActorLight((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorLight(void * jarg1) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetLightType(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::ELightType arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::ELightType)jarg2; 
  (arg1)->SetLightType(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetEnabled(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetEnabled(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIntensity(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetIntensity(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetColor__SWIG_0(void * jarg1, unsigned char jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  unsigned char arg2 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (unsigned char)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  (arg1)->SetColor(arg2,arg3,arg4,arg5);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetColor__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  (arg1)->SetColor(arg2,arg3,arg4,arg5);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetTemperature(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetTemperature(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_WriteIESFile(void * jarg1, wchar_t * jarg2, wchar_t * jarg3, wchar_t * jarg4) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  TCHAR *arg4 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (TCHAR *)jarg4; 
  (arg1)->WriteIESFile((TCHAR const *)arg2,(TCHAR const *)arg3,(TCHAR const *)arg4);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIESFilePath(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetIESFilePath((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIESBrightnessScale(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetIESBrightnessScale(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointIntensityUnit(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EPointLightIntensityUnit arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EPointLightIntensityUnit)jarg2; 
  (arg1)->SetPointIntensityUnit(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointSourceRadius(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointSourceRadius(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointSourceLength(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointSourceLength(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointAttenuationRadius(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointAttenuationRadius(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetSpotInnerConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSpotInnerConeAngle(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetSpotOuterConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSpotOuterConeAngle(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaShape(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EAreaLightShape arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EAreaLightShape)jarg2; 
  (arg1)->SetAreaShape(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaType(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EAreaLightType arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EAreaLightType)jarg2; 
  (arg1)->SetAreaType(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaWidth(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAreaWidth(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaLength(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAreaLength(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPortalDimensions(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;

  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetPortalDimensions(arg2,arg3,arg4);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorMesh(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorMesh *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorMesh *)new FDatasmithFacadeActorMesh((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorMesh(void * jarg1) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;

  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  delete arg1;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_SetMesh(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetMesh((TCHAR const *)arg2);
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeScene(wchar_t * jarg1, wchar_t * jarg2, wchar_t * jarg3, wchar_t * jarg4) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  TCHAR *arg4 = (TCHAR *) 0 ;
  FDatasmithFacadeScene *result = 0 ;

  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (TCHAR *)jarg4; 
  result = (FDatasmithFacadeScene *)new FDatasmithFacadeScene((TCHAR const *)arg1,(TCHAR const *)arg2,(TCHAR const *)arg3,(TCHAR const *)arg4);
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddElement(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeElement *arg2 = (FDatasmithFacadeElement *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeElement *)jarg2; 
  (arg1)->AddElement(arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_Optimize(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->Optimize();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_BuildAssets(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->BuildAssets();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_ExportAssets(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->ExportAssets((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_BuildScene(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->BuildScene((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_PreExport(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->PreExport();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_ExportScene(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->ExportScene((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeScene(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;

  arg1 = (FDatasmithFacadeScene *)jarg1; 
  delete arg1;
}

SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeLog() {
  void * jresult ;
  FDatasmithFacadeLog *result = 0 ;

  result = (FDatasmithFacadeLog *)new FDatasmithFacadeLog();
  jresult = (void *)result; 
  return jresult;
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_AddLine(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeLog *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->AddLine((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_MoreIndentation(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;

  arg1 = (FDatasmithFacadeLog *)jarg1; 
  (arg1)->MoreIndentation();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_LessIndentation(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;

  arg1 = (FDatasmithFacadeLog *)jarg1; 
  (arg1)->LessIndentation();
}

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_WriteFile(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;

  arg1 = (FDatasmithFacadeLog *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  ((FDatasmithFacadeLog const *)arg1)->WriteFile((TCHAR const *)arg2);
}

SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeLog(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;

  arg1 = (FDatasmithFacadeLog *)jarg1; 
  delete arg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_SWIGUpcast(FDatasmithFacadeMaterial *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMesh_SWIGUpcast(FDatasmithFacadeMesh *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeActor_SWIGUpcast(FDatasmithFacadeActor *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SWIGUpcast(FDatasmithFacadeActorCamera *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SWIGUpcast(FDatasmithFacadeActorLight *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_SWIGUpcast(FDatasmithFacadeActorMesh *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

#ifdef __cplusplus
}
#endif
// Copyright Epic Games, Inc. All Rights Reserved.

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

// Copyright Epic Games, Inc. All Rights Reserved.

#include "DatasmithFacadeCSharp.h"



#ifndef SWIGCSHARP
#define SWIGCSHARP
#endif



#ifdef __cplusplus
/* SwigValueWrapper is described in swig.swg */
template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

template <typename T> T SwigValueInit() {
  return T();
}
#endif

/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if defined(__GNUC__)
#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#    ifndef GCC_HASCLASSVISIBILITY
#      define GCC_HASCLASSVISIBILITY
#    endif
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif

/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
#endif

/* Intel's compiler complains if a variable which was never initialised is
 * cast to void, which is a common idiom which we use to indicate that we
 * are aware a variable isn't used.  So we just silence that warning.
 * See: https://github.com/swig/swig/issues/192 for more discussion.
 */
#ifdef __INTEL_COMPILER
# pragma warning disable 592
#endif


#include <stdlib.h>
#include <string.h>
#include <stdio.h>


/* Support for throwing C# exceptions from C/C++. There are two types: 
 * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
typedef enum {
  SWIG_CSharpApplicationException,
  SWIG_CSharpArithmeticException,
  SWIG_CSharpDivideByZeroException,
  SWIG_CSharpIndexOutOfRangeException,
  SWIG_CSharpInvalidCastException,
  SWIG_CSharpInvalidOperationException,
  SWIG_CSharpIOException,
  SWIG_CSharpNullReferenceException,
  SWIG_CSharpOutOfMemoryException,
  SWIG_CSharpOverflowException,
  SWIG_CSharpSystemException
} SWIG_CSharpExceptionCodes;

typedef enum {
  SWIG_CSharpArgumentException,
  SWIG_CSharpArgumentNullException,
  SWIG_CSharpArgumentOutOfRangeException
} SWIG_CSharpExceptionArgumentCodes;

typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);

typedef struct {
  SWIG_CSharpExceptionCodes code;
  SWIG_CSharpExceptionCallback_t callback;
} SWIG_CSharpException_t;

typedef struct {
  SWIG_CSharpExceptionArgumentCodes code;
  SWIG_CSharpExceptionArgumentCallback_t callback;
} SWIG_CSharpExceptionArgument_t;

static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
  { SWIG_CSharpApplicationException, NULL },
  { SWIG_CSharpArithmeticException, NULL },
  { SWIG_CSharpDivideByZeroException, NULL },
  { SWIG_CSharpIndexOutOfRangeException, NULL },
  { SWIG_CSharpInvalidCastException, NULL },
  { SWIG_CSharpInvalidOperationException, NULL },
  { SWIG_CSharpIOException, NULL },
  { SWIG_CSharpNullReferenceException, NULL },
  { SWIG_CSharpOutOfMemoryException, NULL },
  { SWIG_CSharpOverflowException, NULL },
  { SWIG_CSharpSystemException, NULL }
};

static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
  { SWIG_CSharpArgumentException, NULL },
  { SWIG_CSharpArgumentNullException, NULL },
  { SWIG_CSharpArgumentOutOfRangeException, NULL }
};

static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
    callback = SWIG_csharp_exceptions[code].callback;
  }
  callback(msg);
}

static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
    callback = SWIG_csharp_exceptions_argument[code].callback;
  }
  callback(msg, param_name);
}


#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_DatasmithFacadeCSharp(
                                                SWIG_CSharpExceptionCallback_t applicationCallback,
                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
                                                SWIG_CSharpExceptionCallback_t ioCallback,
                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
                                                SWIG_CSharpExceptionCallback_t systemCallback) {
  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
}

#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_DatasmithFacadeCSharp(
                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
}


/* Callback for returning strings to C# without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;


#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_DatasmithFacadeCSharp(SWIG_CSharpStringHelperCallback callback) {
  SWIG_csharp_string_callback = callback;
}


/* Contract support */

#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else


/* Callback for returning strings to C# without leaking memory */
typedef void * (SWIGSTDCALL* SWIG_CSharpWStringHelperCallback)(const wchar_t *);
static SWIG_CSharpWStringHelperCallback SWIG_csharp_wstring_callback = NULL;


#ifdef __cplusplus
extern "C"
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterWStringCallback_DatasmithFacadeCSharp(SWIG_CSharpWStringHelperCallback callback) {
  SWIG_csharp_wstring_callback = callback;
}


#include "DatasmithFacadeElement.h"
#include "DatasmithFacadeMaterial.h"
#include "DatasmithFacadeMesh.h"
#include "DatasmithFacadeActor.h"
#include "DatasmithFacadeActorCamera.h"
#include "DatasmithFacadeActorLight.h"
#include "DatasmithFacadeActorMesh.h"
#include "DatasmithFacadeScene.h"
#include "DatasmithFacadeLog.h"


#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetCoordinateSystemType(int jarg1) {
  FDatasmithFacadeElement::ECoordinateSystemType arg1 ;
  
  arg1 = (FDatasmithFacadeElement::ECoordinateSystemType)jarg1; 
  FDatasmithFacadeElement::SetCoordinateSystemType(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetWorldUnitScale(float jarg1) {
  float arg1 ;
  
  arg1 = (float)jarg1; 
  FDatasmithFacadeElement::SetWorldUnitScale(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeElement(void * jarg1) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_HashName(void * jarg1) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  (arg1)->HashName();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetName((TCHAR const *)arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeElement_GetName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeElement const *)arg1)->GetName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_SetLabel(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLabel((TCHAR const *)arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeElement_GetLabel(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeElement const *)arg1)->GetLabel();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeElement_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeElement *arg1 = (FDatasmithFacadeElement *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeElement *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMaterial(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterial *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeMaterial *)new FDatasmithFacadeMaterial((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterial(void * jarg1) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_SetMasterMaterialType(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  FDatasmithFacadeMaterial::EMasterMaterialType arg2 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeMaterial::EMasterMaterialType)jarg2; 
  (arg1)->SetMasterMaterialType(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddColor__SWIG_0(void * jarg1, wchar_t * jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5, unsigned char jarg6) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  unsigned char arg6 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  arg6 = (unsigned char)jarg6; 
  (arg1)->AddColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddColor__SWIG_1(void * jarg1, wchar_t * jarg2, float jarg3, float jarg4, float jarg5, float jarg6) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  float arg6 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  arg6 = (float)jarg6; 
  (arg1)->AddColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddTexture__SWIG_0(void * jarg1, wchar_t * jarg2, wchar_t * jarg3, int jarg4) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterial::ETextureMode arg4 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (FDatasmithFacadeMaterial::ETextureMode)jarg4; 
  (arg1)->AddTexture((TCHAR const *)arg2,(TCHAR const *)arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddTexture__SWIG_1(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddTexture((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddString((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddFloat(void * jarg1, wchar_t * jarg2, float jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->AddFloat((TCHAR const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_AddBoolean(void * jarg1, wchar_t * jarg2, unsigned int jarg3) {
  FDatasmithFacadeMaterial *arg1 = (FDatasmithFacadeMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  bool arg3 ;
  
  arg1 = (FDatasmithFacadeMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->AddBoolean((TCHAR const *)arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMesh(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeMesh *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeMesh *)new FDatasmithFacadeMesh((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMesh(void * jarg1) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddVertex(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddVertex(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddUV(void * jarg1, int jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddUV(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_0(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int arg5 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  (arg1)->AddTriangle(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_1(void * jarg1, int jarg2, int jarg3, int jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  (arg1)->AddTriangle(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddTriangle__SWIG_2(void * jarg1, int jarg2, int jarg3, int jarg4, wchar_t * jarg5) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  TCHAR *arg5 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (TCHAR *)jarg5; 
  (arg1)->AddTriangle(arg2,arg3,arg4,(TCHAR const *)arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddNormal(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->AddNormal(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddMaterial(void * jarg1, int jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int arg2 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMaterial(arg2,(TCHAR const *)arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMesh_GetVertexCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int result;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  result = (int)((FDatasmithFacadeMesh const *)arg1)->GetVertexCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMesh_GetTriangleCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  int result;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  result = (int)((FDatasmithFacadeMesh const *)arg1)->GetTriangleCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMesh_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMesh *arg1 = (FDatasmithFacadeMesh *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMesh *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActor(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActor *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActor *)new FDatasmithFacadeActor((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActor(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_KeepActor(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  (arg1)->KeepActor();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetWorldTransform(void * jarg1, float* jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = (float *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = jarg2;
  (arg1)->SetWorldTransform((float const *)arg2);
  
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetLayer(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLayer((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddTag(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->AddTag((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataBoolean(void * jarg1, wchar_t * jarg2, unsigned int jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  bool arg3 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->AddMetadataBoolean((TCHAR const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataColor(void * jarg1, wchar_t * jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5, unsigned char jarg6) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  unsigned char arg6 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  arg6 = (unsigned char)jarg6; 
  (arg1)->AddMetadataColor((TCHAR const *)arg2,arg3,arg4,arg5,arg6);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataFloat(void * jarg1, wchar_t * jarg2, float jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->AddMetadataFloat((TCHAR const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataString((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataTexture(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataTexture((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddMetadataVector(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddMetadataVector((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetIsComponent(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetIsComponent(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_AddChild(void * jarg1, void * jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  FDatasmithFacadeActor *arg2 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (FDatasmithFacadeActor *)jarg2; 
  (arg1)->AddChild(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SanitizeActorHierarchyNames(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  (arg1)->SanitizeActorHierarchyNames();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorCamera(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorCamera *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorCamera *)new FDatasmithFacadeActorCamera((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorCamera(void * jarg1) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetCameraPosition(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetCameraPosition(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetCameraRotation(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  float arg6 ;
  float arg7 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  arg6 = (float)jarg6; 
  arg7 = (float)jarg7; 
  (arg1)->SetCameraRotation(arg2,arg3,arg4,arg5,arg6,arg7);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetSensorWidth(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSensorWidth(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetAspectRatio(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAspectRatio(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocusDistance__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetFocusDistance(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocusDistance__SWIG_1(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetFocusDistance(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocalLength__SWIG_0(void * jarg1, float jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetFocalLength(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetFocalLength__SWIG_1(void * jarg1, float jarg2, unsigned int jarg3) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float arg2 ;
  bool arg3 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->SetFocalLength(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetLookAtActor(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLookAtActor((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SetLookAtAllowRoll(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetLookAtAllowRoll(arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorLight(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorLight *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorLight *)new FDatasmithFacadeActorLight((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorLight(void * jarg1) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetLightType(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::ELightType arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::ELightType)jarg2; 
  (arg1)->SetLightType(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetEnabled(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetEnabled(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIntensity(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetIntensity(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetColor__SWIG_0(void * jarg1, unsigned char jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  unsigned char arg2 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (unsigned char)jarg2; 
  arg3 = (unsigned char)jarg3; 
  arg4 = (unsigned char)jarg4; 
  arg5 = (unsigned char)jarg5; 
  (arg1)->SetColor(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetColor__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  arg5 = (float)jarg5; 
  (arg1)->SetColor(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetTemperature(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetTemperature(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_WriteIESFile(void * jarg1, wchar_t * jarg2, wchar_t * jarg3, wchar_t * jarg4) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  TCHAR *arg4 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (TCHAR *)jarg4; 
  (arg1)->WriteIESFile((TCHAR const *)arg2,(TCHAR const *)arg3,(TCHAR const *)arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIESFilePath(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetIESFilePath((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIESBrightnessScale(void * jarg1, double jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (double)jarg2; 
  (arg1)->SetIESBrightnessScale(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointIntensityUnit(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EPointLightIntensityUnit arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EPointLightIntensityUnit)jarg2; 
  (arg1)->SetPointIntensityUnit(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointSourceRadius(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointSourceRadius(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointSourceLength(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointSourceLength(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPointAttenuationRadius(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetPointAttenuationRadius(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetSpotInnerConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSpotInnerConeAngle(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetSpotOuterConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSpotOuterConeAngle(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaShape(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EAreaLightShape arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EAreaLightShape)jarg2; 
  (arg1)->SetAreaShape(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaType(void * jarg1, int jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeActorLight::EAreaLightType arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeActorLight::EAreaLightType)jarg2; 
  (arg1)->SetAreaType(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaWidth(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAreaWidth(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetAreaLength(void * jarg1, float jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAreaLength(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetPortalDimensions(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetPortalDimensions(arg2,arg3,arg4);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorMesh(wchar_t * jarg1, wchar_t * jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeActorMesh *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeActorMesh *)new FDatasmithFacadeActorMesh((TCHAR const *)arg1,(TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeActorMesh(void * jarg1) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_SetMesh(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetMesh((TCHAR const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeScene(wchar_t * jarg1, wchar_t * jarg2, wchar_t * jarg3, wchar_t * jarg4) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  TCHAR *arg4 = (TCHAR *) 0 ;
  FDatasmithFacadeScene *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (TCHAR *)jarg4; 
  result = (FDatasmithFacadeScene *)new FDatasmithFacadeScene((TCHAR const *)arg1,(TCHAR const *)arg2,(TCHAR const *)arg3,(TCHAR const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddElement(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeElement *arg2 = (FDatasmithFacadeElement *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeElement *)jarg2; 
  (arg1)->AddElement(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_Optimize(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->Optimize();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_BuildAssets(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->BuildAssets();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_ExportAssets(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->ExportAssets((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_BuildScene(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->BuildScene((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_PreExport(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  (arg1)->PreExport();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_ExportScene(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->ExportScene((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeScene(void * jarg1) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeLog() {
  void * jresult ;
  FDatasmithFacadeLog *result = 0 ;
  
  result = (FDatasmithFacadeLog *)new FDatasmithFacadeLog();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_AddLine(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeLog *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->AddLine((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_MoreIndentation(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  
  arg1 = (FDatasmithFacadeLog *)jarg1; 
  (arg1)->MoreIndentation();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_LessIndentation(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  
  arg1 = (FDatasmithFacadeLog *)jarg1; 
  (arg1)->LessIndentation();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeLog_WriteFile(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeLog *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  ((FDatasmithFacadeLog const *)arg1)->WriteFile((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeLog(void * jarg1) {
  FDatasmithFacadeLog *arg1 = (FDatasmithFacadeLog *) 0 ;
  
  arg1 = (FDatasmithFacadeLog *)jarg1; 
  delete arg1;
}


SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMaterial_SWIGUpcast(FDatasmithFacadeMaterial *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMesh_SWIGUpcast(FDatasmithFacadeMesh *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeActor_SWIGUpcast(FDatasmithFacadeActor *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_SWIGUpcast(FDatasmithFacadeActorCamera *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SWIGUpcast(FDatasmithFacadeActorLight *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActor * SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_SWIGUpcast(FDatasmithFacadeActorMesh *jarg1) {
    return (FDatasmithFacadeActor *)jarg1;
}

#ifdef __cplusplus
}
#endif

