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

/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.1
 *
 * 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 "DatasmithFacadeKeyValueProperty.h"
#include "DatasmithFacadeTexture.h"
#include "DatasmithFacadeMaterial.h"
#include "DatasmithFacadeMaterialID.h"
#include "DatasmithFacadeUEPbrMaterial.h"
#include "DatasmithFacadeMaterialsUtils.h"
#include "DatasmithFacadeMesh.h"
#include "DatasmithFacadeMetaData.h"
#include "DatasmithFacadeActor.h"
#include "DatasmithFacadeDirectLink.h"
#include "DatasmithFacadeActorCamera.h"
#include "DatasmithFacadeActorLight.h"
#include "DatasmithFacadeActorMesh.h"
#include "DatasmithFacadeScene.h"
#include "DatasmithFacadeLog.h"
#include "DatasmithFacadeUtils.h"

#include "IDatasmithExporterUIModule.h"
#include "IDirectLinkUI.h"


#if PLATFORM_MAC
//wchar_t size is platform dependent, we need to make sure the size stays 16-bit, this should cover all our use-cases.
#define wchar_t char16_t
#endif


#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_InternalGetStringHash(wchar_t * jarg1, void * jarg2, unsigned long jarg3) {
  TCHAR *arg1 = (TCHAR *) 0 ;
  TCHAR *arg2 ;
  size_t arg3 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (size_t)jarg3; 
  FDatasmithFacadeElement::GetStringHash((wchar_t const *)arg1,arg2,arg3);
}


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_new_FDatasmithFacadeKeyValueProperty(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeKeyValueProperty *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeKeyValueProperty *)new FDatasmithFacadeKeyValueProperty((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeKeyValueProperty(void * jarg1) {
  FDatasmithFacadeKeyValueProperty *arg1 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  
  arg1 = (FDatasmithFacadeKeyValueProperty *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeKeyValueProperty_GetPropertyType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeKeyValueProperty *arg1 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  FDatasmithFacadeKeyValueProperty::EKeyValuePropertyType result;
  
  arg1 = (FDatasmithFacadeKeyValueProperty *)jarg1; 
  result = (FDatasmithFacadeKeyValueProperty::EKeyValuePropertyType)((FDatasmithFacadeKeyValueProperty const *)arg1)->GetPropertyType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeKeyValueProperty_SetPropertyType(void * jarg1, int jarg2) {
  FDatasmithFacadeKeyValueProperty *arg1 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  FDatasmithFacadeKeyValueProperty::EKeyValuePropertyType arg2 ;
  
  arg1 = (FDatasmithFacadeKeyValueProperty *)jarg1; 
  arg2 = (FDatasmithFacadeKeyValueProperty::EKeyValuePropertyType)jarg2; 
  (arg1)->SetPropertyType(arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeKeyValueProperty_GetValue(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeKeyValueProperty *arg1 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeKeyValueProperty *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeKeyValueProperty const *)arg1)->GetValue();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeKeyValueProperty_SetValue(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeKeyValueProperty *arg1 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeKeyValueProperty *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetValue((TCHAR const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeTexture(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeTexture *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeTexture *)new FDatasmithFacadeTexture((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeTexture(void * jarg1) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  delete arg1;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetFile(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeTexture const *)arg1)->GetFile();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetFile(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetFile((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetData(void * jarg1, void * jarg2, unsigned int jarg3, int jarg4) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  uint8 *arg2 = (uint8 *) 0 ;
  uint32 arg3 ;
  FDatasmithFacadeTexture::ETextureFormat arg4 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (uint8 *)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (FDatasmithFacadeTexture::ETextureFormat)jarg4; 
  (arg1)->SetData((uint8 const *)arg2,arg3,arg4);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetData(void * jarg1, unsigned int * jarg2, int * jarg3) {
  void * jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  uint32 *arg2 = 0 ;
  FDatasmithFacadeTexture::ETextureFormat *arg3 = 0 ;
  uint8 *result = 0 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (uint32 *)jarg2; 
  arg3 = (FDatasmithFacadeTexture::ETextureFormat *)jarg3;
  if (!arg3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeTexture::ETextureFormat & type is null", 0);
    return 0;
  } 
  result = (uint8 *)((FDatasmithFacadeTexture const *)arg1)->GetData(*arg2,*arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_InternalGetFileHash(void * jarg1, void * jarg2, unsigned long jarg3) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  TCHAR *arg2 ;
  size_t arg3 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (size_t)jarg3; 
  ((FDatasmithFacadeTexture const *)arg1)->GetFileHash(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetFileHash(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetFileHash((TCHAR const *)arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetTextureMode(void * jarg1) {
  int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureMode result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (FDatasmithFacadeTexture::ETextureMode)((FDatasmithFacadeTexture const *)arg1)->GetTextureMode();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetTextureMode(void * jarg1, int jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureMode arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureMode)jarg2; 
  (arg1)->SetTextureMode(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetTextureFilter(void * jarg1) {
  int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureFilter result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (FDatasmithFacadeTexture::ETextureFilter)((FDatasmithFacadeTexture const *)arg1)->GetTextureFilter();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetTextureFilter(void * jarg1, int jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureFilter arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureFilter)jarg2; 
  (arg1)->SetTextureFilter(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetTextureAddressX(void * jarg1) {
  int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureAddress result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (FDatasmithFacadeTexture::ETextureAddress)((FDatasmithFacadeTexture const *)arg1)->GetTextureAddressX();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetTextureAddressX(void * jarg1, int jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureAddress arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureAddress)jarg2; 
  (arg1)->SetTextureAddressX(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetTextureAddressY(void * jarg1) {
  int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureAddress result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (FDatasmithFacadeTexture::ETextureAddress)((FDatasmithFacadeTexture const *)arg1)->GetTextureAddressY();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetTextureAddressY(void * jarg1, int jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::ETextureAddress arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureAddress)jarg2; 
  (arg1)->SetTextureAddressY(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetAllowResize(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (bool)((FDatasmithFacadeTexture const *)arg1)->GetAllowResize();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetRGBCurve(void * jarg1) {
  float jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (float)((FDatasmithFacadeTexture const *)arg1)->GetRGBCurve();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetRGBCurve(void * jarg1, float jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetRGBCurve(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeTexture_GetSRGB(void * jarg1) {
  int jresult ;
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::EColorSpace result;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  result = (FDatasmithFacadeTexture::EColorSpace)((FDatasmithFacadeTexture const *)arg1)->GetSRGB();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SetSRGB(void * jarg1, int jarg2) {
  FDatasmithFacadeTexture *arg1 = (FDatasmithFacadeTexture *) 0 ;
  FDatasmithFacadeTexture::EColorSpace arg2 ;
  
  arg1 = (FDatasmithFacadeTexture *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::EColorSpace)jarg2; 
  (arg1)->SetSRGB(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeBaseMaterial_GetDatasmithMaterialType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeBaseMaterial *arg1 = (FDatasmithFacadeBaseMaterial *) 0 ;
  FDatasmithFacadeBaseMaterial::EDatasmithMaterialType result;
  
  arg1 = (FDatasmithFacadeBaseMaterial *)jarg1; 
  result = (FDatasmithFacadeBaseMaterial::EDatasmithMaterialType)((FDatasmithFacadeBaseMaterial const *)arg1)->GetDatasmithMaterialType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeBaseMaterial(void * jarg1) {
  FDatasmithFacadeBaseMaterial *arg1 = (FDatasmithFacadeBaseMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeBaseMaterial *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMasterMaterial(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeMasterMaterial *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeMasterMaterial *)new FDatasmithFacadeMasterMaterial((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMasterMaterial(void * jarg1) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetMaterialType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  FDatasmithFacadeMasterMaterial::EMasterMaterialType result;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  result = (FDatasmithFacadeMasterMaterial::EMasterMaterialType)((FDatasmithFacadeMasterMaterial const *)arg1)->GetMaterialType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_SetMaterialType(void * jarg1, int jarg2) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  FDatasmithFacadeMasterMaterial::EMasterMaterialType arg2 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeMasterMaterial::EMasterMaterialType)jarg2; 
  (arg1)->SetMaterialType(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetQuality(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  FDatasmithFacadeMasterMaterial::EMasterMaterialQuality result;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  result = (FDatasmithFacadeMasterMaterial::EMasterMaterialQuality)((FDatasmithFacadeMasterMaterial const *)arg1)->GetQuality();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_SetQuality(void * jarg1, int jarg2) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  FDatasmithFacadeMasterMaterial::EMasterMaterialQuality arg2 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeMasterMaterial::EMasterMaterialQuality)jarg2; 
  (arg1)->SetQuality(arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetCustomMaterialPathName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMasterMaterial const *)arg1)->GetCustomMaterialPathName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_SetCustomMaterialPathName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetCustomMaterialPathName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_AddColor__SWIG_0(void * jarg1, wchar_t * jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5, unsigned char jarg6) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  unsigned char arg3 ;
  unsigned char arg4 ;
  unsigned char arg5 ;
  unsigned char arg6 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)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_FDatasmithFacadeMasterMaterial_AddColor__SWIG_1(void * jarg1, wchar_t * jarg2, float jarg3, float jarg4, float jarg5, float jarg6) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  float arg3 ;
  float arg4 ;
  float arg5 ;
  float arg6 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)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_FDatasmithFacadeMasterMaterial_AddTexture(void * jarg1, wchar_t * jarg2, void * jarg3) {
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeTexture *arg3 = (FDatasmithFacadeTexture *) 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (FDatasmithFacadeTexture *)jarg3; 
  (arg1)->AddTexture((TCHAR const *)arg2,(FDatasmithFacadeTexture const *)arg3);
}


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


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


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


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetPropertiesCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  result = (int32)((FDatasmithFacadeMasterMaterial const *)arg1)->GetPropertiesCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetProperty(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeKeyValueProperty *result = 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeKeyValueProperty *)((FDatasmithFacadeMasterMaterial const *)arg1)->GetNewProperty(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_GetPropertyByName(void * jarg1, wchar_t * jarg2) {
  void * jresult ;
  FDatasmithFacadeMasterMaterial *arg1 = (FDatasmithFacadeMasterMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeKeyValueProperty *result = 0 ;
  
  arg1 = (FDatasmithFacadeMasterMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (FDatasmithFacadeKeyValueProperty *)((FDatasmithFacadeMasterMaterial const *)arg1)->GetNewPropertyByName((TCHAR const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMaterialID(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterialID *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeMaterialID *)new FDatasmithFacadeMaterialID((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialID(void * jarg1) {
  FDatasmithFacadeMaterialID *arg1 = (FDatasmithFacadeMaterialID *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialID *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialID_SetId(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterialID *arg1 = (FDatasmithFacadeMaterialID *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialID *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->SetId(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialID_GetId(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialID *arg1 = (FDatasmithFacadeMaterialID *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMaterialID *)jarg1; 
  result = (int32)((FDatasmithFacadeMaterialID const *)arg1)->GetId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeExpressionInput_GetInputName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeExpressionInput const *)arg1)->GetInputName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeExpressionInput_GetExpression(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  FDatasmithFacadeMaterialExpression *result = 0 ;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  result = (FDatasmithFacadeMaterialExpression *)(arg1)->GetNewFacadeExpression();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeExpressionInput_SetExpression(void * jarg1, void * jarg2) {
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  FDatasmithFacadeMaterialExpression *arg2 = (FDatasmithFacadeMaterialExpression *) 0 ;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialExpression *)jarg2; 
  (arg1)->SetExpression(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeExpressionInput_GetOutputIndex(void * jarg1) {
  int jresult ;
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  result = (int32)((FDatasmithFacadeExpressionInput const *)arg1)->GetOutputIndex();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeExpressionInput_SetOutputIndex(void * jarg1, int jarg2) {
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->SetOutputIndex(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeExpressionInput(void * jarg1) {
  FDatasmithFacadeExpressionInput *arg1 = (FDatasmithFacadeExpressionInput *) 0 ;
  
  arg1 = (FDatasmithFacadeExpressionInput *)jarg1; 
  delete arg1;
}


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


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


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_GetExpressionType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  EDatasmithFacadeMaterialExpressionType result;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  result = (EDatasmithFacadeMaterialExpressionType)((FDatasmithFacadeMaterialExpression const *)arg1)->GetExpressionType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_IsA(void * jarg1, int jarg2) {
  unsigned int jresult ;
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  EDatasmithFacadeMaterialExpressionType arg2 ;
  bool result;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  arg2 = (EDatasmithFacadeMaterialExpressionType)jarg2; 
  result = (bool)((FDatasmithFacadeMaterialExpression const *)arg1)->IsA(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_ConnectExpression__SWIG_0(void * jarg1, void * jarg2) {
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->ConnectExpression(*arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_ConnectExpression__SWIG_1(void * jarg1, void * jarg2, int jarg3) {
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  int32 arg3 ;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  arg3 = (int32)jarg3; 
  (arg1)->ConnectExpression(*arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_GetInputCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  result = (int32)((FDatasmithFacadeMaterialExpression const *)arg1)->GetInputCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_GetInput(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeExpressionInput *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeExpressionInput *)(arg1)->GetNewFacadeInput(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_GetDefaultOutputIndex(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  result = (int32)((FDatasmithFacadeMaterialExpression const *)arg1)->GetDefaultOutputIndex();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpression_SetDefaultOutputIndex(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->SetDefaultOutputIndex(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpression(void * jarg1) {
  FDatasmithFacadeMaterialExpression *arg1 = (FDatasmithFacadeMaterialExpression *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpression *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeExpressionParameterSwigImpl(void * jarg1) {
  FDatasmithFacadeExpressionParameter *arg1 = (FDatasmithFacadeExpressionParameter *) 0 ;
  
  arg1 = (FDatasmithFacadeExpressionParameter *)jarg1; 
  delete arg1;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeExpressionParameterSwigImpl_GetGroupName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeExpressionParameter *arg1 = (FDatasmithFacadeExpressionParameter *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeExpressionParameter *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeExpressionParameter const *)arg1)->GetGroupName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeExpressionParameterSwigImpl_SetGroupName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeExpressionParameter *arg1 = (FDatasmithFacadeExpressionParameter *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeExpressionParameter *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetGroupName((TCHAR const *)arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionBool_GetBool(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeMaterialExpressionBool *arg1 = (FDatasmithFacadeMaterialExpressionBool *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionBool *)jarg1; 
  result = (bool)((FDatasmithFacadeMaterialExpressionBool const *)arg1)->GetBool();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionBool_GetGroupName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionBool *arg1 = (FDatasmithFacadeMaterialExpressionBool *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionBool *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionBool const *)arg1)->GetGroupName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionBool_SetGroupName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionBool *arg1 = (FDatasmithFacadeMaterialExpressionBool *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionBool *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetGroupName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionBool(void * jarg1) {
  FDatasmithFacadeMaterialExpressionBool *arg1 = (FDatasmithFacadeMaterialExpressionBool *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionBool *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_GetsRGBColor(void * jarg1, unsigned char * jarg2, unsigned char * jarg3, unsigned char * jarg4, unsigned char * jarg5) {
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  uint8 *arg2 = 0 ;
  uint8 *arg3 = 0 ;
  uint8 *arg4 = 0 ;
  uint8 *arg5 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  arg2 = (uint8 *)jarg2; 
  arg3 = (uint8 *)jarg3; 
  arg4 = (uint8 *)jarg4; 
  arg5 = (uint8 *)jarg5; 
  ((FDatasmithFacadeMaterialExpressionColor const *)arg1)->GetsRGBColor(*arg2,*arg3,*arg4,*arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_SetsRGBColor(void * jarg1, unsigned char jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5) {
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  uint8 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  arg2 = (uint8)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  (arg1)->SetsRGBColor(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_GetColor(void * jarg1, float * jarg2, float * jarg3, float * jarg4, float * jarg5) {
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  float *arg5 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  arg5 = (float *)jarg5; 
  ((FDatasmithFacadeMaterialExpressionColor const *)arg1)->GetColor(*arg2,*arg3,*arg4,*arg5);
}


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


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_GetGroupName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionColor const *)arg1)->GetGroupName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_SetGroupName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetGroupName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionColor(void * jarg1) {
  FDatasmithFacadeMaterialExpressionColor *arg1 = (FDatasmithFacadeMaterialExpressionColor *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionColor *)jarg1; 
  delete arg1;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_GetScalar(void * jarg1) {
  float jresult ;
  FDatasmithFacadeMaterialExpressionScalar *arg1 = (FDatasmithFacadeMaterialExpressionScalar *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionScalar *)jarg1; 
  result = (float)((FDatasmithFacadeMaterialExpressionScalar const *)arg1)->GetScalar();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_SetScalar(void * jarg1, float jarg2) {
  FDatasmithFacadeMaterialExpressionScalar *arg1 = (FDatasmithFacadeMaterialExpressionScalar *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionScalar *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetScalar(arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_GetGroupName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionScalar *arg1 = (FDatasmithFacadeMaterialExpressionScalar *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionScalar *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionScalar const *)arg1)->GetGroupName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_SetGroupName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionScalar *arg1 = (FDatasmithFacadeMaterialExpressionScalar *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionScalar *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetGroupName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionScalar(void * jarg1) {
  FDatasmithFacadeMaterialExpressionScalar *arg1 = (FDatasmithFacadeMaterialExpressionScalar *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionScalar *)jarg1; 
  delete arg1;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_GetTexturePathName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionTexture const *)arg1)->GetTexturePathName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_SetTexturePathName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetTexturePathName((TCHAR const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_GetInputCoordinate(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  result = (arg1)->GetInputCoordinate();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_GetGroupName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionTexture const *)arg1)->GetGroupName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_SetGroupName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetGroupName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionTexture(void * jarg1) {
  FDatasmithFacadeMaterialExpressionTexture *arg1 = (FDatasmithFacadeMaterialExpressionTexture *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTexture *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_GetCoordinateIndex(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  result = (int32)((FDatasmithFacadeMaterialExpressionTextureCoordinate const *)arg1)->GetCoordinateIndex();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_SetCoordinateIndex(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->SetCoordinateIndex(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_GetUTiling(void * jarg1) {
  float jresult ;
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  result = (float)((FDatasmithFacadeMaterialExpressionTextureCoordinate const *)arg1)->GetUTiling();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_SetUTiling(void * jarg1, float jarg2) {
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetUTiling(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_GetVTiling(void * jarg1) {
  float jresult ;
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  result = (float)((FDatasmithFacadeMaterialExpressionTextureCoordinate const *)arg1)->GetVTiling();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_SetVTiling(void * jarg1, float jarg2) {
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetVTiling(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionTextureCoordinate(void * jarg1) {
  FDatasmithFacadeMaterialExpressionTextureCoordinate *arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionTextureCoordinate *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFlattenNormal_GetNormal(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeMaterialExpressionFlattenNormal *arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *)jarg1; 
  result = ((FDatasmithFacadeMaterialExpressionFlattenNormal const *)arg1)->GetNormal();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFlattenNormal_SetNormal(void * jarg1, void * jarg2) {
  FDatasmithFacadeMaterialExpressionFlattenNormal *arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > arg2 ;
  FDatasmithFacadeExpressionInput *argp2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *)jarg1; 
  argp2 = (FDatasmithFacadeExpressionInput *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null FDatasmithFacadeExpressionInput", 0);
    return ;
  }
  arg2 = *argp2; 
  (arg1)->SetNormal(arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFlattenNormal_GetFlatness(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeMaterialExpressionFlattenNormal *arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *)jarg1; 
  result = ((FDatasmithFacadeMaterialExpressionFlattenNormal const *)arg1)->GetFlatness();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFlattenNormal_SetFlatness(void * jarg1, void * jarg2) {
  FDatasmithFacadeMaterialExpressionFlattenNormal *arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > arg2 ;
  FDatasmithFacadeExpressionInput *argp2 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *)jarg1; 
  argp2 = (FDatasmithFacadeExpressionInput *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null FDatasmithFacadeExpressionInput", 0);
    return ;
  }
  arg2 = *argp2; 
  ((FDatasmithFacadeMaterialExpressionFlattenNormal const *)arg1)->SetFlatness(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionFlattenNormal(void * jarg1) {
  FDatasmithFacadeMaterialExpressionFlattenNormal *arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFlattenNormal *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_SetExpressionName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetExpressionName((TCHAR const *)arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_GetExpressionName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionGeneric const *)arg1)->GetExpressionName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_GetPropertiesCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  result = (int32)((FDatasmithFacadeMaterialExpressionGeneric const *)arg1)->GetPropertiesCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_AddProperty(void * jarg1, void * jarg2) {
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  FDatasmithFacadeKeyValueProperty *arg2 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  arg2 = (FDatasmithFacadeKeyValueProperty *)jarg2; 
  (arg1)->AddProperty((FDatasmithFacadeKeyValueProperty const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_GetProperty(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeKeyValueProperty *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeKeyValueProperty *)(arg1)->GetNewProperty(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionGeneric(void * jarg1) {
  FDatasmithFacadeMaterialExpressionGeneric *arg1 = (FDatasmithFacadeMaterialExpressionGeneric *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionGeneric *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFunctionCall_SetFunctionPathName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeMaterialExpressionFunctionCall *arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetFunctionPathName((TCHAR const *)arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFunctionCall_GetFunctionPathName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeMaterialExpressionFunctionCall *arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeMaterialExpressionFunctionCall const *)arg1)->GetFunctionPathName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialExpressionFunctionCall(void * jarg1) {
  FDatasmithFacadeMaterialExpressionFunctionCall *arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialExpressionFunctionCall *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeUEPbrMaterial(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeUEPbrMaterial *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeUEPbrMaterial *)new FDatasmithFacadeUEPbrMaterial((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeUEPbrMaterial(void * jarg1) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetBaseColor(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetBaseColor();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetBaseColor(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetBaseColor(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetMetallic(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetMetallic();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetMetallic(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetMetallic(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetSpecular(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetSpecular();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetSpecular(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetSpecular(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetRoughness(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetRoughness();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetRoughness(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetRoughness(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetEmissiveColor(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetEmissiveColor();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetEmissiveColor(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetEmissiveColor(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetOpacity(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetOpacity();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetOpacity(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetOpacity(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetNormal(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetNormal();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetNormal(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetNormal(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetWorldDisplacement(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetWorldDisplacement();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetWorldDisplacement(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetWorldDisplacement(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetRefraction(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetRefraction();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetRefraction(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetRefraction(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetAmbientOcclusion(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetAmbientOcclusion();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetAmbientOcclusion(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetAmbientOcclusion(*arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetMaterialAttributes(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeExpressionInput > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = ((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetMaterialAttributes();
  jresult = new FDatasmithFacadeExpressionInput((const FDatasmithFacadeExpressionInput &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetMaterialAttributes(void * jarg1, void * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeExpressionInput *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeExpressionInput *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeExpressionInput & type is null", 0);
    return ;
  } 
  (arg1)->SetMaterialAttributes(*arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetBlendMode(void * jarg1) {
  int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  int result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (int)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetBlendMode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetBlendMode(void * jarg1, int jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  int arg2 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (int)jarg2; 
  (arg1)->SetBlendMode(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetTwoSided(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (bool)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetTwoSided();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetUseMaterialAttributes(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (bool)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetUseMaterialAttributes();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetMaterialFunctionOnly(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (bool)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetMaterialFunctionOnly();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetOpacityMaskClipValue(void * jarg1) {
  float jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (float)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetOpacityMaskClipValue();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetOpacityMaskClipValue(void * jarg1, float jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetOpacityMaskClipValue(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetExpressionsCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (int32)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetExpressionsCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetExpression(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeMaterialExpression *result = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeMaterialExpression *)(arg1)->GetNewFacadeExpression(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetExpressionIndex(void * jarg1, void * jarg2) {
  int jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  FDatasmithFacadeMaterialExpression *arg2 = 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialExpression *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialExpression const & type is null", 0);
    return 0;
  } 
  result = (int32)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetExpressionIndex((FDatasmithFacadeMaterialExpression const &)*arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SetParentLabel(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetParentLabel((TCHAR const *)arg2);
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_GetParentLabel(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeUEPbrMaterial const *)arg1)->GetParentLabel();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionBool(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionBool > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionBool >();
  jresult = new FDatasmithFacadeMaterialExpressionBool((const FDatasmithFacadeMaterialExpressionBool &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionColor(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionColor > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionColor >();
  jresult = new FDatasmithFacadeMaterialExpressionColor((const FDatasmithFacadeMaterialExpressionColor &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionFlattenNormal(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionFlattenNormal > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionFlattenNormal >();
  jresult = new FDatasmithFacadeMaterialExpressionFlattenNormal((const FDatasmithFacadeMaterialExpressionFlattenNormal &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionFunctionCall(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionFunctionCall > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionFunctionCall >();
  jresult = new FDatasmithFacadeMaterialExpressionFunctionCall((const FDatasmithFacadeMaterialExpressionFunctionCall &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionGeneric(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionGeneric > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionGeneric >();
  jresult = new FDatasmithFacadeMaterialExpressionGeneric((const FDatasmithFacadeMaterialExpressionGeneric &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionScalar(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionScalar > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionScalar >();
  jresult = new FDatasmithFacadeMaterialExpressionScalar((const FDatasmithFacadeMaterialExpressionScalar &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionTexture(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionTexture > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionTexture >();
  jresult = new FDatasmithFacadeMaterialExpressionTexture((const FDatasmithFacadeMaterialExpressionTexture &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_AddMaterialExpressionTextureCoordinate(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = (FDatasmithFacadeUEPbrMaterial *) 0 ;
  SwigValueWrapper< FDatasmithFacadeMaterialExpressionTextureCoordinate > result;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1; 
  result = (arg1)->SWIGTEMPLATEDISAMBIGUATOR AddMaterialExpression< FDatasmithFacadeMaterialExpressionTextureCoordinate >();
  jresult = new FDatasmithFacadeMaterialExpressionTextureCoordinate((const FDatasmithFacadeMaterialExpressionTextureCoordinate &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetUVOffset(void * jarg1, float jarg2, float jarg3) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float arg2 ;
  float arg3 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->SetUVOffset(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetUVOffset(void * jarg1, float * jarg2, float * jarg3) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  ((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetUVOffset(*arg2,*arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetUVTiling(void * jarg1, float jarg2, float jarg3) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float arg2 ;
  float arg3 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  (arg1)->SetUVTiling(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetUVTiling(void * jarg1, float * jarg2, float * jarg3) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  ((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetUVTiling(*arg2,*arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetRotationPivot(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetRotationPivot(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetRotationPivot(void * jarg1, float * jarg2, float * jarg3, float * jarg4) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  ((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetRotationPivot(*arg2,*arg3,*arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetRotationAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetRotationAngle(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetRotationAngle(void * jarg1) {
  float jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  result = (float)((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetRotationAngle();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetChannelIndex(void * jarg1, unsigned char jarg2) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  uint8 arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = (uint8)jarg2; 
  (arg1)->SetChannelIndex(arg2);
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetChannelIndex(void * jarg1) {
  unsigned char jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  uint8 result;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  result = (uint8)((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetChannelIndex();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetIsUsingRealWorldScale(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetIsUsingRealWorldScale(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetIsUsingRealWorldScale(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  result = (bool)((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetIsUsingRealWorldScale();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetMirrorU(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetMirrorU(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetMirrorU(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  result = (bool)((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetMirrorU();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_SetMirrorV(void * jarg1, unsigned int jarg2) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  arg2 = jarg2 ? true : false; 
  (arg1)->SetMirrorV(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FUVEditParameters_GetMirrorV(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  result = (bool)((FDatasmithFacadeMaterialsUtils::FUVEditParameters const *)arg1)->GetMirrorV();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMaterialsUtils_FUVEditParameters() {
  void * jresult ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *result = 0 ;
  
  result = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)new FDatasmithFacadeMaterialsUtils::FUVEditParameters();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialsUtils_FUVEditParameters(void * jarg1) {
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_CreateTextureExpression(void * jarg1, wchar_t * jarg2, wchar_t * jarg3, void * jarg4) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterialsUtils::FUVEditParameters *arg4 = 0 ;
  FDatasmithFacadeMaterialExpressionTexture *result = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1;
  if (!arg1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeUEPbrMaterial & type is null", 0);
    return 0;
  } 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  arg4 = (FDatasmithFacadeMaterialsUtils::FUVEditParameters *)jarg4;
  if (!arg4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialsUtils::FUVEditParameters const & type is null", 0);
    return 0;
  } 
  result = (FDatasmithFacadeMaterialExpressionTexture *)FDatasmithFacadeMaterialsUtils::CreateNewFacadeTextureExpression(*arg1,(wchar_t const *)arg2,(wchar_t const *)arg3,(FDatasmithFacadeMaterialsUtils::FUVEditParameters const &)*arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters(float jarg1) {
  void * jresult ;
  float arg1 ;
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *result = 0 ;
  
  arg1 = (float)jarg1; 
  result = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)new FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters(arg1);
  jresult = (void *)result; 
  return jresult;
}


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters_SetColorsRGB(void * jarg1, unsigned char jarg2, unsigned char jarg3, unsigned char jarg4, unsigned char jarg5) {
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *) 0 ;
  uint8 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg1; 
  arg2 = (uint8)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  (arg1)->SetColorsRGB(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters_SetScalar(void * jarg1, float jarg2) {
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetScalar(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters_SetTextureMode(void * jarg1, int jarg2) {
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *) 0 ;
  FDatasmithFacadeTexture::ETextureMode arg2 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureMode)jarg2; 
  (arg1)->SetTextureMode(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters_SetExpression(void * jarg1, void * jarg2) {
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *) 0 ;
  FDatasmithFacadeMaterialExpression *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialExpression *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialExpression const & type is null", 0);
    return ;
  } 
  (arg1)->SetExpression((FDatasmithFacadeMaterialExpression const &)*arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialsUtils_FWeightedMaterialExpressionParameters(void * jarg1) {
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_CreateWeightedMaterialExpression(void * jarg1, wchar_t * jarg2, void * jarg3) {
  void * jresult ;
  FDatasmithFacadeUEPbrMaterial *arg1 = 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *arg3 = 0 ;
  FDatasmithFacadeMaterialExpression *result = 0 ;
  
  arg1 = (FDatasmithFacadeUEPbrMaterial *)jarg1;
  if (!arg1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeUEPbrMaterial & type is null", 0);
    return 0;
  } 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters *)jarg3;
  if (!arg3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialsUtils::FWeightedMaterialExpressionParameters & type is null", 0);
    return 0;
  } 
  result = (FDatasmithFacadeMaterialExpression *)FDatasmithFacadeMaterialsUtils::CreateNewFacadeWeightedMaterialExpression(*arg1,(wchar_t const *)arg2,*arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_CreateSimpleTextureElement__SWIG_0(wchar_t * jarg1, int jarg2) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeTexture::ETextureMode arg2 ;
  FDatasmithFacadeTexture *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  arg2 = (FDatasmithFacadeTexture::ETextureMode)jarg2; 
  result = (FDatasmithFacadeTexture *)FDatasmithFacadeMaterialsUtils::CreateSimpleTextureElement((wchar_t const *)arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialsUtils_CreateSimpleTextureElement__SWIG_1(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeTexture *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeTexture *)FDatasmithFacadeMaterialsUtils::CreateSimpleTextureElement((wchar_t const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMaterialsUtils(void * jarg1) {
  FDatasmithFacadeMaterialsUtils *arg1 = (FDatasmithFacadeMaterialsUtils *) 0 ;
  
  arg1 = (FDatasmithFacadeMaterialsUtils *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeMesh(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeMesh *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeMesh *)new FDatasmithFacadeMesh((TCHAR const *)arg1);
  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_new_FDatasmithFacadeMetaData(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeMetaData *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeMetaData *)new FDatasmithFacadeMetaData((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


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


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


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_AddPropertyString(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddPropertyString((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_AddPropertyTexture(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddPropertyTexture((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_AddPropertyVector(void * jarg1, wchar_t * jarg2, wchar_t * jarg3) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *arg3 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (TCHAR *)jarg3; 
  (arg1)->AddPropertyVector((TCHAR const *)arg2,(TCHAR const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_AddProperty(void * jarg1, void * jarg2) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  FDatasmithFacadeKeyValueProperty *arg2 = (FDatasmithFacadeKeyValueProperty *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (FDatasmithFacadeKeyValueProperty *)jarg2; 
  (arg1)->AddProperty((FDatasmithFacadeKeyValueProperty const *)arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_GetPropertiesCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  result = (int32)((FDatasmithFacadeMetaData const *)arg1)->GetPropertiesCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_GetProperty(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeKeyValueProperty *result = 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeKeyValueProperty *)((FDatasmithFacadeMetaData const *)arg1)->GetNewProperty(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_SetAssociatedElement(void * jarg1, void * jarg2) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  FDatasmithFacadeElement *arg2 = (FDatasmithFacadeElement *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  arg2 = (FDatasmithFacadeElement *)jarg2; 
  (arg1)->SetAssociatedElement((FDatasmithFacadeElement const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeMetaData(void * jarg1) {
  FDatasmithFacadeMetaData *arg1 = (FDatasmithFacadeMetaData *) 0 ;
  
  arg1 = (FDatasmithFacadeMetaData *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActor(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeActor *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeActor *)new FDatasmithFacadeActor((TCHAR const *)arg1);
  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_SetWorldTransform__SWIG_0(void * jarg1, float * jarg2, unsigned int jarg3) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 ;
  bool arg3 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = jarg3 ? true : false; 
  (arg1)->SetWorldTransform((float const (*))arg2,arg3);
}


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetScale(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetScale(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetScale(void * jarg1, float * jarg2, float * jarg3, float * jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  ((FDatasmithFacadeActor const *)arg1)->GetScale(*arg2,*arg3,*arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetRotation__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetRotation(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetRotation__SWIG_0(void * jarg1, float * jarg2, float * jarg3, float * jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  ((FDatasmithFacadeActor const *)arg1)->GetRotation(*arg2,*arg3,*arg4);
}


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetRotation__SWIG_1(void * jarg1, float * jarg2, float * jarg3, float * jarg4, float * jarg5) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  float *arg5 = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  arg5 = (float *)jarg5; 
  ((FDatasmithFacadeActor const *)arg1)->GetRotation(*arg2,*arg3,*arg4,*arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetTranslation(void * jarg1, float jarg2, float jarg3, float jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float arg2 ;
  float arg3 ;
  float arg4 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (float)jarg4; 
  (arg1)->SetTranslation(arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetTranslation(void * jarg1, float * jarg2, float * jarg3, float * jarg4) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  float *arg2 = 0 ;
  float *arg3 = 0 ;
  float *arg4 = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (float *)jarg3; 
  arg4 = (float *)jarg4; 
  ((FDatasmithFacadeActor const *)arg1)->GetTranslation(*arg2,*arg3,*arg4);
}


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 wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetLayer(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeActor const *)arg1)->GetLayer();
  jresult = (wchar_t *)result; 
  return jresult;
}


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_ResetTags(void * jarg1) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  (arg1)->ResetTags();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetTagsCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (int32)((FDatasmithFacadeActor const *)arg1)->GetTagsCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetTag(void * jarg1, int jarg2) {
  wchar_t * jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 arg2 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (TCHAR *)((FDatasmithFacadeActor const *)arg1)->GetTag(arg2);
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActor_IsComponent(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (bool)((FDatasmithFacadeActor const *)arg1)->IsComponent();
  jresult = result; 
  return jresult;
}


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 int SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetChildrenCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (int32)((FDatasmithFacadeActor const *)arg1)->GetChildrenCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetChild(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeActor *result = 0 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeActor *)(arg1)->GetNewChild(arg2);
  jresult = (void *)result; 
  return jresult;
}


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


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


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActor_IsASelector(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (bool)((FDatasmithFacadeActor const *)arg1)->IsASelector();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActor_SetSelectionIndex(void * jarg1, int jarg2) {
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->SetSelectionIndex(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetSelectionIndex(void * jarg1) {
  int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (int32)((FDatasmithFacadeActor const *)arg1)->GetSelectionIndex();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetVisibility(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (bool)((FDatasmithFacadeActor const *)arg1)->GetVisibility();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeActor_GetActorType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeActor *arg1 = (FDatasmithFacadeActor *) 0 ;
  FDatasmithFacadeActor::EActorType result;
  
  arg1 = (FDatasmithFacadeActor *)jarg1; 
  result = (FDatasmithFacadeActor::EActorType)((FDatasmithFacadeActor const *)arg1)->GetActorType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorCamera(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeActorCamera *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeActorCamera *)new FDatasmithFacadeActorCamera((TCHAR const *)arg1);
  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 float SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetSensorWidth(void * jarg1) {
  float jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (float)((FDatasmithFacadeActorCamera const *)arg1)->GetSensorWidth();
  jresult = result; 
  return jresult;
}


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 float SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetAspectRatio(void * jarg1) {
  float jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (float)((FDatasmithFacadeActorCamera const *)arg1)->GetAspectRatio();
  jresult = result; 
  return jresult;
}


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 float SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetFocusDistance(void * jarg1) {
  float jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (float)((FDatasmithFacadeActorCamera const *)arg1)->GetFocusDistance();
  jresult = result; 
  return jresult;
}


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 float SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetFocalLength(void * jarg1) {
  float jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (float)((FDatasmithFacadeActorCamera const *)arg1)->GetFocalLength();
  jresult = result; 
  return jresult;
}


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 wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetLookAtActor(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeActorCamera const *)arg1)->GetLookAtActor();
  jresult = (wchar_t *)result; 
  return jresult;
}


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 unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetLookAtAllowRoll(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (bool)((FDatasmithFacadeActorCamera const *)arg1)->GetLookAtAllowRoll();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetEnableDepthOfField(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (bool)((FDatasmithFacadeActorCamera const *)arg1)->GetEnableDepthOfField();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeActorCamera_GetFStop(void * jarg1) {
  float jresult ;
  FDatasmithFacadeActorCamera *arg1 = (FDatasmithFacadeActorCamera *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeActorCamera *)jarg1; 
  result = (float)((FDatasmithFacadeActorCamera const *)arg1)->GetFStop();
  jresult = result; 
  return jresult;
}


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


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


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_IsEnabled(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (bool)((FDatasmithFacadeActorLight const *)arg1)->IsEnabled();
  jresult = result; 
  return jresult;
}


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 double SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetIntensity(void * jarg1) {
  double jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (double)((FDatasmithFacadeActorLight const *)arg1)->GetIntensity();
  jresult = result; 
  return jresult;
}


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_GetColor__SWIG_0(void * jarg1, unsigned char * jarg2, unsigned char * jarg3, unsigned char * jarg4, unsigned char * jarg5) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  uint8 *arg2 = 0 ;
  uint8 *arg3 = 0 ;
  uint8 *arg4 = 0 ;
  uint8 *arg5 = 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (uint8 *)jarg2; 
  arg3 = (uint8 *)jarg3; 
  arg4 = (uint8 *)jarg4; 
  arg5 = (uint8 *)jarg5; 
  ((FDatasmithFacadeActorLight const *)arg1)->GetColor(*arg2,*arg3,*arg4,*arg5);
}


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


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 ;
  uint8 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (uint8)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)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 double SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetTemperature(void * jarg1) {
  double jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (double)((FDatasmithFacadeActorLight const *)arg1)->GetTemperature();
  jresult = result; 
  return jresult;
}


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 unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetUseTemperature(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (bool)((FDatasmithFacadeActorLight const *)arg1)->GetUseTemperature();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetIesFile(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeActorLight const *)arg1)->GetIesFile();
  jresult = (wchar_t *)result; 
  return jresult;
}


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_SetIesFile(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetIesFile((TCHAR const *)arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetUseIes(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (bool)((FDatasmithFacadeActorLight const *)arg1)->GetUseIes();
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT double SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetIesBrightnessScale(void * jarg1) {
  double jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  double result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (double)((FDatasmithFacadeActorLight const *)arg1)->GetIesBrightnessScale();
  jresult = result; 
  return jresult;
}


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 unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetUseIesBrightness(void * jarg1) {
  unsigned int jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (bool)((FDatasmithFacadeActorLight const *)arg1)->GetUseIesBrightness();
  jresult = result; 
  return jresult;
}


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


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


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIesRotation__SWIG_0(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)->SetIesRotation(arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetIesRotation__SWIG_1(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)->SetIesRotation(arg2,arg3,arg4);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_GetLightFunctionMaterial(void * jarg1) {
  void * jresult ;
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeMaterialID *result = 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  result = (FDatasmithFacadeMaterialID *)(arg1)->GetNewLightFunctionMaterial();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorLight_SetLightFunctionMaterial__SWIG_0(void * jarg1, void * jarg2) {
  FDatasmithFacadeActorLight *arg1 = (FDatasmithFacadeActorLight *) 0 ;
  FDatasmithFacadeMaterialID *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeActorLight *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialID *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialID & type is null", 0);
    return ;
  } 
  (arg1)->SetLightFunctionMaterial(*arg2);
}


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


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadePointLight(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadePointLight *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadePointLight *)new FDatasmithFacadePointLight((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadePointLight(void * jarg1) {
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadePointLight_SetIntensityUnits(void * jarg1, int jarg2) {
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  FDatasmithFacadePointLight::EPointLightIntensityUnit arg2 ;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  arg2 = (FDatasmithFacadePointLight::EPointLightIntensityUnit)jarg2; 
  (arg1)->SetIntensityUnits(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadePointLight_GetIntensityUnits(void * jarg1) {
  int jresult ;
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  FDatasmithFacadePointLight::EPointLightIntensityUnit result;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  result = (FDatasmithFacadePointLight::EPointLightIntensityUnit)((FDatasmithFacadePointLight const *)arg1)->GetIntensityUnits();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadePointLight_GetSourceRadius(void * jarg1) {
  float jresult ;
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  result = (float)((FDatasmithFacadePointLight const *)arg1)->GetSourceRadius();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadePointLight_SetSourceRadius(void * jarg1, float jarg2) {
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSourceRadius(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadePointLight_GetSourceLength(void * jarg1) {
  float jresult ;
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  result = (float)((FDatasmithFacadePointLight const *)arg1)->GetSourceLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadePointLight_SetSourceLength(void * jarg1, float jarg2) {
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetSourceLength(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadePointLight_GetAttenuationRadius(void * jarg1) {
  float jresult ;
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  result = (float)((FDatasmithFacadePointLight const *)arg1)->GetAttenuationRadius();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadePointLight_SetAttenuationRadius(void * jarg1, float jarg2) {
  FDatasmithFacadePointLight *arg1 = (FDatasmithFacadePointLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadePointLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetAttenuationRadius(arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeSpotLight(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeSpotLight *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeSpotLight *)new FDatasmithFacadeSpotLight((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeSpotLight(void * jarg1) {
  FDatasmithFacadeSpotLight *arg1 = (FDatasmithFacadeSpotLight *) 0 ;
  
  arg1 = (FDatasmithFacadeSpotLight *)jarg1; 
  delete arg1;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeSpotLight_GetInnerConeAngle(void * jarg1) {
  float jresult ;
  FDatasmithFacadeSpotLight *arg1 = (FDatasmithFacadeSpotLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeSpotLight *)jarg1; 
  result = (float)((FDatasmithFacadeSpotLight const *)arg1)->GetInnerConeAngle();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeSpotLight_SetInnerConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeSpotLight *arg1 = (FDatasmithFacadeSpotLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeSpotLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetInnerConeAngle(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeSpotLight_GetOuterConeAngle(void * jarg1) {
  float jresult ;
  FDatasmithFacadeSpotLight *arg1 = (FDatasmithFacadeSpotLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeSpotLight *)jarg1; 
  result = (float)((FDatasmithFacadeSpotLight const *)arg1)->GetOuterConeAngle();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeSpotLight_SetOuterConeAngle(void * jarg1, float jarg2) {
  FDatasmithFacadeSpotLight *arg1 = (FDatasmithFacadeSpotLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeSpotLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetOuterConeAngle(arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeDirectionalLight(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeDirectionalLight *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeDirectionalLight *)new FDatasmithFacadeDirectionalLight((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeDirectionalLight(void * jarg1) {
  FDatasmithFacadeDirectionalLight *arg1 = (FDatasmithFacadeDirectionalLight *) 0 ;
  
  arg1 = (FDatasmithFacadeDirectionalLight *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeAreaLight(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeAreaLight *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeAreaLight *)new FDatasmithFacadeAreaLight((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeAreaLight(void * jarg1) {
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_GetLightShape(void * jarg1) {
  int jresult ;
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  FDatasmithFacadeAreaLight::EAreaLightShape result;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  result = (FDatasmithFacadeAreaLight::EAreaLightShape)((FDatasmithFacadeAreaLight const *)arg1)->GetLightShape();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_SetLightShape(void * jarg1, int jarg2) {
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  FDatasmithFacadeAreaLight::EAreaLightShape arg2 ;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  arg2 = (FDatasmithFacadeAreaLight::EAreaLightShape)jarg2; 
  (arg1)->SetLightShape(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_SetLightType(void * jarg1, int jarg2) {
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  FDatasmithFacadeAreaLight::EAreaLightType arg2 ;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  arg2 = (FDatasmithFacadeAreaLight::EAreaLightType)jarg2; 
  (arg1)->SetLightType(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_GetLightType(void * jarg1) {
  int jresult ;
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  FDatasmithFacadeAreaLight::EAreaLightType result;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  result = (FDatasmithFacadeAreaLight::EAreaLightType)((FDatasmithFacadeAreaLight const *)arg1)->GetLightType();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_SetWidth(void * jarg1, float jarg2) {
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetWidth(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_GetWidth(void * jarg1) {
  float jresult ;
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  result = (float)((FDatasmithFacadeAreaLight const *)arg1)->GetWidth();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_SetLength(void * jarg1, float jarg2) {
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  float arg2 ;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  arg2 = (float)jarg2; 
  (arg1)->SetLength(arg2);
}


SWIGEXPORT float SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_GetLength(void * jarg1) {
  float jresult ;
  FDatasmithFacadeAreaLight *arg1 = (FDatasmithFacadeAreaLight *) 0 ;
  float result;
  
  arg1 = (FDatasmithFacadeAreaLight *)jarg1; 
  result = (float)((FDatasmithFacadeAreaLight const *)arg1)->GetLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeLightmassPortal(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeLightmassPortal *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeLightmassPortal *)new FDatasmithFacadeLightmassPortal((TCHAR const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeLightmassPortal(void * jarg1) {
  FDatasmithFacadeLightmassPortal *arg1 = (FDatasmithFacadeLightmassPortal *) 0 ;
  
  arg1 = (FDatasmithFacadeLightmassPortal *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeActorMesh(wchar_t * jarg1) {
  void * jresult ;
  TCHAR *arg1 = (TCHAR *) 0 ;
  FDatasmithFacadeActorMesh *result = 0 ;
  
  arg1 = (TCHAR *)jarg1; 
  result = (FDatasmithFacadeActorMesh *)new FDatasmithFacadeActorMesh((TCHAR const *)arg1);
  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 wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_GetMeshName(void * jarg1) {
  wchar_t * jresult ;
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  result = (TCHAR *)((FDatasmithFacadeActorMesh const *)arg1)->GetMeshName();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_AddMaterialOverride__SWIG_0(void * jarg1, wchar_t * jarg2, int jarg3) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  int32 arg3 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  arg3 = (int32)jarg3; 
  (arg1)->AddMaterialOverride((TCHAR const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_AddMaterialOverride__SWIG_1(void * jarg1, void * jarg2) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  FDatasmithFacadeMaterialID *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialID *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialID & type is null", 0);
    return ;
  } 
  (arg1)->AddMaterialOverride(*arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_GetMaterialOverridesCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  result = (int32)((FDatasmithFacadeActorMesh const *)arg1)->GetMaterialOverridesCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_GetMaterialOverride(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeMaterialID *result = 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeMaterialID *)(arg1)->GetNewMaterialOverride(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeActorMesh_RemoveMaterialOverride(void * jarg1, void * jarg2) {
  FDatasmithFacadeActorMesh *arg1 = (FDatasmithFacadeActorMesh *) 0 ;
  FDatasmithFacadeMaterialID *arg2 = 0 ;
  
  arg1 = (FDatasmithFacadeActorMesh *)jarg1; 
  arg2 = (FDatasmithFacadeMaterialID *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "FDatasmithFacadeMaterialID & type is null", 0);
    return ;
  } 
  (arg1)->RemoveMaterialOverride(*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_AddActor(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeActor *arg2 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeActor *)jarg2; 
  (arg1)->AddActor(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetActorsCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  result = (int32)((FDatasmithFacadeScene const *)arg1)->GetActorsCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetActor(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeActor *result = 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeActor *)(arg1)->GetNewActor(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_RemoveActor__SWIG_0(void * jarg1, void * jarg2, int jarg3) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeActor *arg2 = (FDatasmithFacadeActor *) 0 ;
  FDatasmithFacadeScene::EActorRemovalRule arg3 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeActor *)jarg2; 
  arg3 = (FDatasmithFacadeScene::EActorRemovalRule)jarg3; 
  (arg1)->RemoveActor(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_RemoveActor__SWIG_1(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeActor *arg2 = (FDatasmithFacadeActor *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeActor *)jarg2; 
  (arg1)->RemoveActor(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddMaterial(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeBaseMaterial *arg2 = (FDatasmithFacadeBaseMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeBaseMaterial *)jarg2; 
  (arg1)->AddMaterial(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetMaterialsCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  result = (int32)((FDatasmithFacadeScene const *)arg1)->GetMaterialsCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetMaterial(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeBaseMaterial *result = 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeBaseMaterial *)(arg1)->GetNewMaterial(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_RemoveMaterial(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeBaseMaterial *arg2 = (FDatasmithFacadeBaseMaterial *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeBaseMaterial *)jarg2; 
  (arg1)->RemoveMaterial(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddMesh(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeMesh *arg2 = (FDatasmithFacadeMesh *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeMesh *)jarg2; 
  (arg1)->AddMesh(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddTexture(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeTexture *arg2 = (FDatasmithFacadeTexture *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeTexture *)jarg2; 
  (arg1)->AddTexture(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetTexturesCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  result = (int32)((FDatasmithFacadeScene const *)arg1)->GetTexturesCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetTexture(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeTexture *result = 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeTexture *)(arg1)->GetNewTexture(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_RemoveTexture(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeTexture *arg2 = (FDatasmithFacadeTexture *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeTexture *)jarg2; 
  (arg1)->RemoveTexture(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_AddMetaData(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeMetaData *arg2 = (FDatasmithFacadeMetaData *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeMetaData *)jarg2; 
  (arg1)->AddMetaData(arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetMetaDataCount(void * jarg1) {
  int jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 result;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  result = (int32)((FDatasmithFacadeScene const *)arg1)->GetMetaDataCount();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FDatasmithFacadeScene_GetMetaData(void * jarg1, int jarg2) {
  void * jresult ;
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  int32 arg2 ;
  FDatasmithFacadeMetaData *result = 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (int32)jarg2; 
  result = (FDatasmithFacadeMetaData *)(arg1)->GetNewMetaData(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_RemoveMetaData(void * jarg1, void * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  FDatasmithFacadeMetaData *arg2 = (FDatasmithFacadeMetaData *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (FDatasmithFacadeMetaData *)jarg2; 
  (arg1)->RemoveMetaData(arg2);
}


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


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeScene_Shutdown() {
  FDatasmithFacadeScene::Shutdown();
}


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_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_SetLabel(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeScene *arg1 = (FDatasmithFacadeScene *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeScene *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->SetLabel((TCHAR const *)arg2);
}


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


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 unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_Init__SWIG_0() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)FDatasmithFacadeDirectLink::Init();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_Init__SWIG_1(unsigned int jarg1, wchar_t * jarg2) {
  unsigned int jresult ;
  bool arg1 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  arg2 = (TCHAR *)jarg2; 
  result = (bool)FDatasmithFacadeDirectLink::Init(arg1,(wchar_t const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_ValidateCommunicationSetup() {
  int jresult ;
  int result;
  
  result = (int)FDatasmithFacadeDirectLink::ValidateCommunicationSetup();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_Shutdown() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)FDatasmithFacadeDirectLink::Shutdown();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_InitializeForScene(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  FDatasmithFacadeDirectLink *arg1 = (FDatasmithFacadeDirectLink *) 0 ;
  FDatasmithFacadeScene *arg2 = (FDatasmithFacadeScene *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeDirectLink *)jarg1; 
  arg2 = (FDatasmithFacadeScene *)jarg2; 
  result = (bool)(arg1)->InitializeForScene(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FDatasmithFacadeDirectLink_UpdateScene(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  FDatasmithFacadeDirectLink *arg1 = (FDatasmithFacadeDirectLink *) 0 ;
  FDatasmithFacadeScene *arg2 = (FDatasmithFacadeScene *) 0 ;
  bool result;
  
  arg1 = (FDatasmithFacadeDirectLink *)jarg1; 
  arg2 = (FDatasmithFacadeScene *)jarg2; 
  result = (bool)(arg1)->UpdateScene(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeDirectLink() {
  void * jresult ;
  FDatasmithFacadeDirectLink *result = 0 ;
  
  result = (FDatasmithFacadeDirectLink *)new FDatasmithFacadeDirectLink();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeDirectLink(void * jarg1) {
  FDatasmithFacadeDirectLink *arg1 = (FDatasmithFacadeDirectLink *) 0 ;
  
  arg1 = (FDatasmithFacadeDirectLink *)jarg1; 
  delete arg1;
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_FDatasmithFacadeUniqueNameProvider_GenerateUniqueName(void * jarg1, wchar_t * jarg2) {
  wchar_t * jresult ;
  FDatasmithFacadeUniqueNameProvider *arg1 = (FDatasmithFacadeUniqueNameProvider *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (FDatasmithFacadeUniqueNameProvider *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  result = (TCHAR *)(arg1)->GenerateUniqueName((TCHAR const *)arg2);
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUniqueNameProvider_Reserve(void * jarg1, int jarg2) {
  FDatasmithFacadeUniqueNameProvider *arg1 = (FDatasmithFacadeUniqueNameProvider *) 0 ;
  int32 arg2 ;
  
  arg1 = (FDatasmithFacadeUniqueNameProvider *)jarg1; 
  arg2 = (int32)jarg2; 
  (arg1)->Reserve(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUniqueNameProvider_AddExistingName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeUniqueNameProvider *arg1 = (FDatasmithFacadeUniqueNameProvider *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeUniqueNameProvider *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->AddExistingName((TCHAR const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FDatasmithFacadeUniqueNameProvider_RemoveExistingName(void * jarg1, wchar_t * jarg2) {
  FDatasmithFacadeUniqueNameProvider *arg1 = (FDatasmithFacadeUniqueNameProvider *) 0 ;
  TCHAR *arg2 = (TCHAR *) 0 ;
  
  arg1 = (FDatasmithFacadeUniqueNameProvider *)jarg1; 
  arg2 = (TCHAR *)jarg2; 
  (arg1)->RemoveExistingName((TCHAR const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_FDatasmithFacadeUniqueNameProvider() {
  void * jresult ;
  FDatasmithFacadeUniqueNameProvider *result = 0 ;
  
  result = (FDatasmithFacadeUniqueNameProvider *)new FDatasmithFacadeUniqueNameProvider();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_FDatasmithFacadeUniqueNameProvider(void * jarg1) {
  FDatasmithFacadeUniqueNameProvider *arg1 = (FDatasmithFacadeUniqueNameProvider *) 0 ;
  
  arg1 = (FDatasmithFacadeUniqueNameProvider *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_IDatasmithExporterUIModule_Get() {
  void * jresult ;
  IDatasmithExporterUIModule *result = 0 ;
  
  result = (IDatasmithExporterUIModule *)IDatasmithExporterUIModule::Get();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_IDatasmithExporterUIModule_GetDirectLinkExporterUI(void * jarg1) {
  void * jresult ;
  IDatasmithExporterUIModule *arg1 = (IDatasmithExporterUIModule *) 0 ;
  IDirectLinkUI *result = 0 ;
  
  arg1 = (IDatasmithExporterUIModule *)jarg1; 
  result = (IDirectLinkUI *)((IDatasmithExporterUIModule const *)arg1)->GetDirectLinkExporterUI();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_IDatasmithExporterUIModule(void * jarg1) {
  IDatasmithExporterUIModule *arg1 = (IDatasmithExporterUIModule *) 0 ;
  
  arg1 = (IDatasmithExporterUIModule *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_IDirectLinkUI_OpenDirectLinkStreamWindow(void * jarg1) {
  IDirectLinkUI *arg1 = (IDirectLinkUI *) 0 ;
  
  arg1 = (IDirectLinkUI *)jarg1; 
  (arg1)->OpenDirectLinkStreamWindow();
}


SWIGEXPORT wchar_t * SWIGSTDCALL CSharp_IDirectLinkUI_GetDirectLinkCacheDirectory(void * jarg1) {
  wchar_t * jresult ;
  IDirectLinkUI *arg1 = (IDirectLinkUI *) 0 ;
  TCHAR *result = 0 ;
  
  arg1 = (IDirectLinkUI *)jarg1; 
  result = (TCHAR *)(arg1)->GetDirectLinkCacheDirectory();
  jresult = (wchar_t *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_IDirectLinkUI(void * jarg1) {
  IDirectLinkUI *arg1 = (IDirectLinkUI *) 0 ;
  
  arg1 = (IDirectLinkUI *)jarg1; 
  delete arg1;
}


SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeKeyValueProperty_SWIGUpcast(FDatasmithFacadeKeyValueProperty *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeTexture_SWIGUpcast(FDatasmithFacadeTexture *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeBaseMaterial_SWIGUpcast(FDatasmithFacadeBaseMaterial *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeBaseMaterial * SWIGSTDCALL CSharp_FDatasmithFacadeMasterMaterial_SWIGUpcast(FDatasmithFacadeMasterMaterial *jarg1) {
    return (FDatasmithFacadeBaseMaterial *)jarg1;
}

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialID_SWIGUpcast(FDatasmithFacadeMaterialID *jarg1) {
    return (FDatasmithFacadeElement *)jarg1;
}

SWIGEXPORT FDatasmithFacadeExpressionParameter * SWIGSTDCALL CSharp_FDatasmithFacadeExpressionParameterSwigImpl_FDatasmithFacadeExpressionParameter_GetInterfaceCPtr(FDatasmithFacadeExpressionParameter *jarg1) {
    return (FDatasmithFacadeExpressionParameter *)jarg1;
}

SWIGEXPORT FDatasmithFacadeExpressionParameter * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionBool_FDatasmithFacadeExpressionParameter_GetInterfaceCPtr(FDatasmithFacadeMaterialExpressionBool *jarg1) {
    return (FDatasmithFacadeExpressionParameter *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionBool_SWIGUpcast(FDatasmithFacadeMaterialExpressionBool *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeExpressionParameter * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_FDatasmithFacadeExpressionParameter_GetInterfaceCPtr(FDatasmithFacadeMaterialExpressionColor *jarg1) {
    return (FDatasmithFacadeExpressionParameter *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionColor_SWIGUpcast(FDatasmithFacadeMaterialExpressionColor *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeExpressionParameter * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_FDatasmithFacadeExpressionParameter_GetInterfaceCPtr(FDatasmithFacadeMaterialExpressionScalar *jarg1) {
    return (FDatasmithFacadeExpressionParameter *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionScalar_SWIGUpcast(FDatasmithFacadeMaterialExpressionScalar *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeExpressionParameter * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_FDatasmithFacadeExpressionParameter_GetInterfaceCPtr(FDatasmithFacadeMaterialExpressionTexture *jarg1) {
    return (FDatasmithFacadeExpressionParameter *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTexture_SWIGUpcast(FDatasmithFacadeMaterialExpressionTexture *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionTextureCoordinate_SWIGUpcast(FDatasmithFacadeMaterialExpressionTextureCoordinate *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFlattenNormal_SWIGUpcast(FDatasmithFacadeMaterialExpressionFlattenNormal *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionGeneric_SWIGUpcast(FDatasmithFacadeMaterialExpressionGeneric *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeMaterialExpression * SWIGSTDCALL CSharp_FDatasmithFacadeMaterialExpressionFunctionCall_SWIGUpcast(FDatasmithFacadeMaterialExpressionFunctionCall *jarg1) {
    return (FDatasmithFacadeMaterialExpression *)jarg1;
}

SWIGEXPORT FDatasmithFacadeBaseMaterial * SWIGSTDCALL CSharp_FDatasmithFacadeUEPbrMaterial_SWIGUpcast(FDatasmithFacadeUEPbrMaterial *jarg1) {
    return (FDatasmithFacadeBaseMaterial *)jarg1;
}

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

SWIGEXPORT FDatasmithFacadeElement * SWIGSTDCALL CSharp_FDatasmithFacadeMetaData_SWIGUpcast(FDatasmithFacadeMetaData *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 FDatasmithFacadeActorLight * SWIGSTDCALL CSharp_FDatasmithFacadePointLight_SWIGUpcast(FDatasmithFacadePointLight *jarg1) {
    return (FDatasmithFacadeActorLight *)jarg1;
}

SWIGEXPORT FDatasmithFacadePointLight * SWIGSTDCALL CSharp_FDatasmithFacadeSpotLight_SWIGUpcast(FDatasmithFacadeSpotLight *jarg1) {
    return (FDatasmithFacadePointLight *)jarg1;
}

SWIGEXPORT FDatasmithFacadeActorLight * SWIGSTDCALL CSharp_FDatasmithFacadeDirectionalLight_SWIGUpcast(FDatasmithFacadeDirectionalLight *jarg1) {
    return (FDatasmithFacadeActorLight *)jarg1;
}

SWIGEXPORT FDatasmithFacadeSpotLight * SWIGSTDCALL CSharp_FDatasmithFacadeAreaLight_SWIGUpcast(FDatasmithFacadeAreaLight *jarg1) {
    return (FDatasmithFacadeSpotLight *)jarg1;
}

SWIGEXPORT FDatasmithFacadePointLight * SWIGSTDCALL CSharp_FDatasmithFacadeLightmassPortal_SWIGUpcast(FDatasmithFacadeLightmassPortal *jarg1) {
    return (FDatasmithFacadePointLight *)jarg1;
}

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

#ifdef __cplusplus
}
#endif

