diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/CMakeLists.txt opencollada-0.1.0~20160714.0ec5063+dfsg1/CMakeLists.txt --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/CMakeLists.txt 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/CMakeLists.txt 2016-07-13 19:25:45.000000000 +0000 @@ -1,3 +1,5 @@ +EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE ) +message( STATUS "Architecture: ${ARCHITECTURE}" ) if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) if(NOT DEFINED WITH_IN_SOURCE_BUILD) @@ -63,6 +65,11 @@ else() target_link_libraries(${name}_static ${target_lib}) endif() + if( ${ARCHITECTURE} MATCHES "mips" ) + if(TARGET OpenCOLLADASaxFrameworkLoader_static) + SET_TARGET_PROPERTIES(OpenCOLLADASaxFrameworkLoader_static PROPERTIES COMPILE_FLAGS "-Umips") + endif() + endif() endforeach() set(CMAKE_REQUIRED_LIBRARIES "${name}_static;${CMAKE_REQUIRED_LIBRARIES}" PARENT_SCOPE) @@ -84,6 +91,11 @@ else() target_link_libraries(${name}_shared ${target_lib}) endif() + if( ${ARCHITECTURE} MATCHES "mips" ) + if(TARGET OpenCOLLADASaxFrameworkLoader_shared) + SET_TARGET_PROPERTIES(OpenCOLLADASaxFrameworkLoader_shared PROPERTIES COMPILE_FLAGS "-Umips") + endif() + endif() endforeach() set(CMAKE_REQUIRED_LIBRARIES "${name}_shared;${CMAKE_REQUIRED_LIBRARIES}" PARENT_SCOPE) @@ -197,6 +209,7 @@ option(USE_SHARED "Build shared libraries" OFF) option(USE_LIBXML "Use LibXml2 parser" ON) option(USE_EXPAT "Use expat parser" OFF) +option(USE_STATIC_MSVC_RUNTIME "Use static version of the MSVC run-time library" OFF) #adding xml2 if (USE_LIBXML) @@ -227,6 +240,19 @@ # TODO:: use externals endif () +if(USE_STATIC_MSVC_RUNTIME) + foreach(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + if(${flag} MATCHES "/MD") + STRING(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}") + endif() + if(${flag} MATCHES "/MDd") + STRING(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}") + endif() + endforeach() +endif() + #adding PCRE find_package(PCRE) if (PCRE_FOUND) diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/.gitignore opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/.gitignore --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/.gitignore 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/.gitignore 2016-07-13 19:25:45.000000000 +0000 @@ -4,3 +4,5 @@ *.ncb *.suo *.user +OpenCOLLADABaseUtils.sln +OpenCOLLADABaseUtils_static.vcxproj* diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUURI.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUURI.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUURI.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUURI.h 2016-07-13 19:25:45.000000000 +0000 @@ -179,7 +179,7 @@ URI(); /** Returns if the URi is valid.*/ - bool isValid() { return mIsValid; } + bool isValid() const { return mIsValid; } // Returns the fully resolved URI as a string const String& getURIString() const; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUUtils.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUUtils.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUUtils.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUUtils.h 2016-07-13 19:25:45.000000000 +0000 @@ -171,10 +171,13 @@ static bool createDirectoryIfNeeded( const WideString &pathString ); static bool createDirectoryIfNeeded( const String &pathString ); + static bool createDirectoryRecursive( const WideString &pathString ); + static bool createDirectoryRecursive( const String &pathString ); static bool directoryExists( const WideString &pathString ); static bool directoryExists( const String &pathString ); static bool copyFile( const String &source, const String &destination ); + static bool deleteFile(const String &pathString); static bool fileExistsAndIsReadable( const String &pathString ); }; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUVersionInfo.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUVersionInfo.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/include/COLLADABUVersionInfo.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/include/COLLADABUVersionInfo.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,12 @@ +#ifndef __COLLADABU_VERSIONINFO_H__ +#define __COLLADABU_VERSIONINFO_H__ + +namespace COLLADABU + +{ + // CURRENT_REVISION = MajorVersion.MinorVersion.Revision + // + + const String CURRENT_REVISION = "1.6.developer_version"; +} +#endif // __COLLADABU_VERSIONINFO_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcproj 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,1188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,1339 @@ + + + + + Debug_static_v100 + Win32 + + + Debug_static_v100 + x64 + + + Debug_static_v110 + Win32 + + + Debug_static_v110 + x64 + + + Debug_static_v140 + Win32 + + + Debug_static_v140 + x64 + + + Debug_static_v90 + Win32 + + + Debug_static_v90 + x64 + + + Debug_v100 + Win32 + + + Debug_v100 + x64 + + + Debug_v110 + Win32 + + + Debug_v110 + x64 + + + Debug_v140 + Win32 + + + Debug_v140 + x64 + + + Debug_v90 + Win32 + + + Debug_v90 + x64 + + + Release_static_v100 + Win32 + + + Release_static_v100 + x64 + + + Release_static_v110 + Win32 + + + Release_static_v110 + x64 + + + Release_static_v140 + Win32 + + + Release_static_v140 + x64 + + + Release_static_v90 + Win32 + + + Release_static_v90 + x64 + + + Release_v100 + Win32 + + + Release_v100 + x64 + + + Release_v110 + Win32 + + + Release_v110 + x64 + + + Release_v140 + Win32 + + + Release_v140 + x64 + + + Release_v90 + Win32 + + + Release_v90 + x64 + + + + {2C3C4869-D684-4981-98E7-6D9798B72145} + COLLADAUtils + + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v140 + Unicode + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v140 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v140 + Unicode + true + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v140 + Unicode + + + StaticLibrary + v90 + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>12.0.30501.0 + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_LIB;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\include\Math;..\..\Externals\UTF\include;..\..\Externals\pcre\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PCRE_STATIC;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADABUStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {71a48a24-8603-49fb-9458-cb4e97309378} + false + + + + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj.filters opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj.filters --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/scripts/COLLADABaseUtils.vcxproj.filters 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,134 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {f28da2c7-47b5-4240-bb69-b0c11c49f86e} + + + {779a6e92-ed7b-483a-9c50-9d1549b239b8} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {46cd2c3d-1da5-4dbf-bc99-145e014f6d5b} + + + {83b7036e-f7e4-4888-8980-0e1f8bd44a36} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Math + + + Source Files\Math + + + Source Files\Math + + + Source Files\Math + + + Source Files\Math + + + Source Files\UTF + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\Math + + + Header Files\Math + + + Header Files\Math + + + Header Files\Math + + + Header Files\Math + + + Header Files\Math + + + Header Files\UTF + + + Header Files + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/COLLADABUURI.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/COLLADABUURI.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/COLLADABUURI.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/COLLADABUURI.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -141,7 +141,7 @@ } - void URI::initialize() + void URI::initialize() { reset(); } @@ -149,7 +149,9 @@ URI::~URI() { } - URI::URI(const String& uriStr, bool nofrag) { + URI::URI(const String& uriStr, bool nofrag) + : mIsValid(false) + { initialize(); if (nofrag) { @@ -164,29 +166,28 @@ } - URI::URI(const char* uriString) { - if (!uriString) { - URI(); - } - else { - initialize(); + URI::URI(const char* uriString) + : mIsValid(false) + { + initialize(); + if (uriString) { set(uriString); } } - URI::URI(const char* uriString, size_t length) { - if (!uriString || length == 0) { - URI(); - } - else { - initialize(); + URI::URI(const char* uriString, size_t length) + : mIsValid(false) + { + initialize(); + if (uriString && length > 0) { set(uriString, length); } } URI::URI( const String& path, const String& fragment ) + : mIsValid(false) { initialize(); set("", "", path, "", fragment); @@ -200,12 +201,14 @@ } URI::URI(const URI& baseURI, const String& uriStr) + : mIsValid(false) { initialize(); set(uriStr, &baseURI); } URI::URI(const URI& copyFrom_, bool nofrag) + : mIsValid(false) { initialize(); if (nofrag) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/COLLADABUUtils.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/COLLADABUUtils.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/COLLADABUUtils.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/COLLADABUUtils.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -13,6 +13,10 @@ #include "COLLADABUPlatform.h" #include +#include +#ifdef _WIN32 +#include +#endif namespace COLLADABU { @@ -201,13 +205,14 @@ start = text.find_first_not_of(separators, stop+1); } } - + +#ifdef COLLADABU_OS_WIN //-------------------------------- bool Utils::createDirectoryIfNeeded( const WideString &pathString ) { bool pathExists = false; -#ifdef COLLADABU_OS_WIN + SystemType type = getSystemType(); if( type != WINDOWS ) return false; @@ -224,17 +229,10 @@ _wchdir( currentPath ); return pathExists; -#else - SystemType type = getSystemType(); - if( type != POSIX ) - return false; - - //... -#endif - return pathExists; } - +#endif + //-------------------------------- bool Utils::createDirectoryIfNeeded( const String &pathString ) { @@ -256,7 +254,7 @@ } _chdir( currentPath ); - return pathExists; + #else SystemType type = getSystemType(); if( type != POSIX ) @@ -274,12 +272,133 @@ return pathExists; } +#ifdef COLLADABU_OS_WIN + //-------------------------------- + bool Utils::createDirectoryRecursive( const WideString &pathString ) + { + if (pathString.length() == 0) + return false; + + WideString path = pathString; + + if (path[path.length()-1] != '/' && path[path.length()-1] != '\\') + path.push_back('\\'); + + std::list paths; + size_t offset = WideString::npos; + while ((offset != 0) && (offset = pathString.find_last_of(L"/\\", offset)) != WideString::npos) + { + paths.push_front(pathString.substr(0, offset + 1)); + if (offset != 0) --offset; + } + + bool pathExists = true; + const wchar_t* currentPath = _wgetcwd(0, 0); + + for (std::list::const_iterator iPath = paths.begin(); iPath != paths.end(); ++iPath) + { + // if path exists + if (_wchdir((*iPath).c_str()) == 0) + continue; + + // path does not exist, try to create it + _wmkdir((*iPath).c_str()); + + if (_wchdir((*iPath).c_str()) != 0) + { + pathExists = false; + break; + } + } + + // Restore current path + _wchdir(currentPath); + return pathExists; + } +#endif + + //-------------------------------- + bool Utils::createDirectoryRecursive( const String &pathString ) + { + if (pathString.length() == 0) + return false; + + String path = pathString; + + if (path[path.length()-1] != '/' && path[path.length()-1] != '\\') + path.push_back('\\'); + + std::list paths; + size_t offset = String::npos; + while ((offset != 0) && (offset = pathString.find_last_of("/\\", offset)) != String::npos) + { + paths.push_front(pathString.substr(0, offset + 1)); + if (offset !=0) --offset; + } + + bool pathExists = true; + + SystemType type = getSystemType(); + +#ifdef COLLADABU_OS_WIN + if( type != WINDOWS ) + return false; + + const char* currentPath = _getcwd(0, 0); + + for (std::list::const_iterator iPath = paths.begin(); iPath != paths.end(); ++iPath) + { + // if path exists + if (_chdir((*iPath).c_str()) == 0) + continue; + + // path does not exist, try to create it + _mkdir((*iPath).c_str()); + + if (_chdir((*iPath).c_str()) != 0) + { + pathExists = false; + break; + } + } + + // Restore current path + _chdir(currentPath); +#else + if( type != POSIX ) + return false; + + const char* currentPath = getcwd(0, 0); + + for (std::list::const_iterator iPath = paths.begin(); iPath != paths.end(); ++iPath) + { + // if path exists + if (chdir((*iPath).c_str()) == 0) + continue; + + // path does not exist, try to create it + mkdir((*iPath).c_str(), 0755); + + if (chdir((*iPath).c_str()) != 0) + { + pathExists = false; + break; + } + } + + // Restore current path + chdir(currentPath); +#endif + return pathExists; + } + +#ifdef COLLADABU_OS_WIN //-------------------------------- bool Utils::directoryExists( const WideString &pathString ) { bool pathExists = false; -#ifdef COLLADABU_OS_WIN + SystemType type = getSystemType(); if( type != WINDOWS ) return false; @@ -290,17 +409,10 @@ pathExists = _wchdir( testPath ) == 0; _wchdir( currentPath ); return pathExists; -#else - SystemType type = getSystemType(); - if( type != POSIX ) - return false; - //... -#endif - - return pathExists; } - +#endif + //-------------------------------- bool Utils::directoryExists( const String &pathString ) { @@ -322,7 +434,10 @@ if( type != POSIX ) return false; - //... + struct stat st; + if(stat(pathString.c_str(),&st) == 0) + pathExists = true; + #endif return pathExists; @@ -331,7 +446,7 @@ //-------------------------------- bool Utils::copyFile( const String &source, const String &destination ) { - bool pathExists = false; + bool copystatus = false; #ifdef COLLADABU_OS_WIN SystemType type = getSystemType(); @@ -344,19 +459,46 @@ if( length > 4096) return false; - system(command); - return true; + int status = system(command); + copystatus = (status == 0 ? true : false); #else SystemType type = getSystemType(); if( type != POSIX ) return false; - //... + char command[4097]; + sprintf(command, "/bin/cp \"%s\" \"%s\"", source.c_str(), destination.c_str()); + size_t length = strlen(command); + if( length > 4096) + return false; + + + int status = system(command); + copystatus = (status == 0 ? true : false); #endif - return pathExists; + return copystatus; } + //-------------------------------- + bool Utils::deleteFile(const String &pathString) + { + SystemType type = getSystemType(); + +#ifdef COLLADABU_OS_WIN + if (type != WINDOWS) + return false; + return DeleteFileA(pathString.c_str()) != FALSE; +#else + if (type != POSIX) + return false; + char command[4097]; + sprintf(command, "rm -f \"%s\"", pathString.c_str()); + int status = system(command); + return status == 0; +#endif + } + //-------------------------------- bool Utils::fileExistsAndIsReadable( const String &pathString ) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/Math/COLLADABUMathMatrix3.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/Math/COLLADABUMathMatrix3.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADABaseUtils/src/Math/COLLADABUMathMatrix3.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADABaseUtils/src/Math/COLLADABUMathMatrix3.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -1114,14 +1114,19 @@ // cz*sx*sy+cx*sz cx*cz-sx*sy*sz -cy*sx // -cx*cz*sy+sx*sz cz*sx+cx*sy*sz cx*cy - rfPAngle_radian = asin( m[ 0 ][ 2 ] ) ; + // Fixed + // http://staff.city.ac.uk/~sbbh653/publications/euler.pdf + + rfPAngle_radian = -asin( m[ 0 ][ 2 ] ) ; + Real cos_rfPAngle_radian = cos(rfPAngle_radian); + Real inv_cos_rfPAngle_radian = 1.0f / cos_rfPAngle_radian; if ( rfPAngle_radian < Math::HALF_PI ) { if ( rfPAngle_radian > -Math::HALF_PI ) { - rfYAngle_radian = atan2( -m[ 1 ][ 2 ], m[ 2 ][ 2 ] ); - rfRAngle_radian = atan2( -m[ 0 ][ 1 ], m[ 0 ][ 0 ] ); + rfYAngle_radian = atan2(m[1][2] * inv_cos_rfPAngle_radian, m[2][2] * inv_cos_rfPAngle_radian); + rfRAngle_radian = atan2(m[0][1] * inv_cos_rfPAngle_radian, m[0][0] * inv_cos_rfPAngle_radian); return true; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/.gitignore opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/.gitignore --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/.gitignore 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/.gitignore 2016-07-13 19:25:45.000000000 +0000 @@ -4,3 +4,5 @@ *.ncb *.suo *.user +OpenCOLLADAFramework.sln +OpenCOLLADAFramework_static.vcxproj* diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWEffectCommon.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWEffectCommon.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWEffectCommon.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWEffectCommon.h 2016-07-13 19:25:45.000000000 +0000 @@ -38,13 +38,26 @@ SHADER_PHONG, SHADER_LAMBERT }; + + /** + * There is a transparent color and a transparency value with an opaque mode in COLLADA. + * We have to calculate with this the opaque color for the framework. + */ + enum OpaqueMode + { + UNSPECIFIED_OPAQUE, + A_ONE, + RGB_ZERO, + A_ZERO, + RGB_ONE + }; private: /** * The original object id, if it in the original file format exist. - */ - String mOriginalId; + */ + String mOriginalId; /** The shader used by the effect.*/ ShaderType mShaderType; @@ -117,24 +130,16 @@ */ ColorOrTexture mOpacity; -// /** Declares the color of perfectly refracted light. -// Used by the following shaders: -// Blinn -// Constant -// Phong -// Lambert -// */ -// ColorOrTexture mTransparent; -// -// /** Declares the amount of perfectly refracted light added to the reflected color as a -// scalar value between 0.0 and 1.0. -// Used by the following shaders: -// Blinn -// Constant -// Phong -// Lambert -// */ -// FloatOrParam mTransparency; + /** Declares transparent color. + Note: this property should only be used if one wants to know the value that were used to compute the final opacity color + */ + + ColorOrTexture mTransparent; + + /** Declares the transparency value. + Note: this property should only be used if one wants to know the value that were used to compute the final opacity color + */ + FloatOrParam mTransparency; /** Declares the index of refraction for perfectly refracted light as a single scalar index. Used by the following shaders: @@ -148,6 +153,9 @@ /** All the samplers used as texture in the CommonEffect.*/ SamplerPointerArray mSamplers; + /** Declares the opaque mode */ + OpaqueMode mOpaqueMode; + public: /** Constructor. */ @@ -158,12 +166,12 @@ /** * The original object id, if it in the original file format exist. - */ + */ const String& getOriginalId () const { return mOriginalId; } /** * The original object id, if it in the original file format exist. - */ + */ void setOriginalId ( const String& val ) { mOriginalId = val; } @@ -251,6 +259,17 @@ */ void setDiffuse ( const ColorOrTexture& Diffuse ) { mDiffuse = Diffuse; } + /** Declares the transparent color + */ + const ColorOrTexture& getTransparent () const { return mTransparent; } + + /** Declares the transparent color + */ + ColorOrTexture& getTransparent () { return mTransparent; } + + /** Declares the transparent color + */ + void setTransparent ( const ColorOrTexture& transparent ) { mTransparent = transparent; } /** Declares the color of light specularly reflected from the surface of this object. Used by the following shaders: @@ -353,6 +372,26 @@ */ void setReflectivity( const FloatOrParam& Reflectivity ) { mReflectivity = Reflectivity; } + /** Declares the transparency value + */ + FloatOrParam& getTransparency() { return mTransparency; } + + /** Declares the transparency value + */ + const FloatOrParam& getTransparency() const { return mTransparency; } + + /** Declares the transparency value + */ + void setTransparency( const FloatOrParam& transparency ) { mTransparency = transparency; } + + /** Declares the opaque mode + */ + OpaqueMode getOpaqueMode() const { return mOpaqueMode; } + + /** Declares the transparency value + */ + void setOpaqueMode(OpaqueMode opaqueMode ) { mOpaqueMode = opaqueMode; } + /** Declares the opaque color. Used by the following shaders: Blinn diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWInstanceBindingBase.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWInstanceBindingBase.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWInstanceBindingBase.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWInstanceBindingBase.h 2016-07-13 19:25:45.000000000 +0000 @@ -15,6 +15,11 @@ #include "COLLADAFWInstanceBase.h" #include "COLLADAFWMaterialBinding.h" +#include "COLLADABUURI.h" + +#include + + namespace COLLADAFW { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWUniqueId.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWUniqueId.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/include/COLLADAFWUniqueId.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/include/COLLADAFWUniqueId.h 2016-07-13 19:25:45.000000000 +0000 @@ -38,7 +38,7 @@ FileId mFileId; public: - /** Default constructor. Creates a UniqueId with ClassId COLALDA_TYPES::No_TYPE, which is an invalid ClassId. + /** Default constructor. Creates a UniqueId with ClassId COLLADA_TYPES::No_TYPE, which is an invalid ClassId. Therefore the UniqueId is considered to be invalid.*/ UniqueId() : mClassId(COLLADA_TYPE::NO_TYPE), mObjectId(0), mFileId(0){} diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcproj 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,1573 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,1403 @@ + + + + + Debug_static_v100 + Win32 + + + Debug_static_v100 + x64 + + + Debug_static_v110 + Win32 + + + Debug_static_v110 + x64 + + + Debug_static_v140 + Win32 + + + Debug_static_v140 + x64 + + + Debug_static_v90 + Win32 + + + Debug_static_v90 + x64 + + + Debug_v100 + Win32 + + + Debug_v100 + x64 + + + Debug_v110 + Win32 + + + Debug_v110 + x64 + + + Debug_v140 + Win32 + + + Debug_v140 + x64 + + + Debug_v90 + Win32 + + + Debug_v90 + x64 + + + Release_static_v100 + Win32 + + + Release_static_v100 + x64 + + + Release_static_v110 + Win32 + + + Release_static_v110 + x64 + + + Release_static_v140 + Win32 + + + Release_static_v140 + x64 + + + Release_static_v90 + Win32 + + + Release_static_v90 + x64 + + + Release_v100 + Win32 + + + Release_v100 + x64 + + + Release_v110 + Win32 + + + Release_v110 + x64 + + + Release_v140 + Win32 + + + Release_v140 + x64 + + + Release_v90 + Win32 + + + Release_v90 + x64 + + + + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} + COLLADAHelper + Win32Proj + + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v140 + Unicode + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v140 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v90 + Unicode + true + + + StaticLibrary + v100 + Unicode + true + + + StaticLibrary + v110 + Unicode + true + + + StaticLibrary + v140 + Unicode + true + + + StaticLibrary + v90 + Unicode + + + StaticLibrary + v100 + Unicode + + + StaticLibrary + v110 + Unicode + + + StaticLibrary + v140 + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>12.0.30501.0 + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + ..\lib\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + MaxSpeed + true + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + MultiThreaded + true + false + Use + COLLADAFWStableHeaders.h + Level3 + + + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level2 + EditAndContinue + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + X64 + + + Disabled + ..\include;..\..\COLLADABaseUtils\include;..\..\Externals\MathMLSolver\include;..\..\Externals\MathMLSolver\include\AST;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + false + Use + COLLADAFWStableHeaders.h + Level3 + ProgramDatabase + + + $(OutDir)$(ProjectName).lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {2c3c4869-d684-4981-98e7-6d9798b72145} + false + + + {f1defc38-6aa9-4799-983b-96610117caf7} + false + + + + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj.filters opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj.filters --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/scripts/COLLADAFramework.vcxproj.filters 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,478 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {2fad5d8a-fc94-469c-9cde-cedbeea29592} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {d3df150c-3407-4701-97c2-16170dd41201} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\kinematics + + + Source Files\kinematics + + + Source Files\kinematics + + + Source Files\kinematics + + + Source Files\kinematics + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + Header Files\kinematics + + + + + Header Files + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/src/COLLADAFWEffectCommon.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/src/COLLADAFWEffectCommon.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAFramework/src/COLLADAFWEffectCommon.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAFramework/src/COLLADAFWEffectCommon.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -20,7 +20,8 @@ : mShaderType(SHADER_UNKNOWN) , mShininess(-1) , mReflectivity(-1) - , mIndexOfRefraction(-1) + , mTransparency(1) + , mIndexOfRefraction(-1) { } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/BUILD opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/BUILD --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/BUILD 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/BUILD 2016-07-13 19:25:45.000000000 +0000 @@ -4,53 +4,49 @@ - Autodesk 3ds Max To build the COLLADAMax plug-in you need to have a version of 3ds Max, including the SDK, installed. Supported versions are: - 3ds Max 9 - 3ds Max 2008 - 3ds Max 2009 - -- boost C++ libraries - Supported and tested versions: - - Boost 1.35 available at http://www.boost.org/users/download/ - - Boost 1.36 available at http://www.boost.org/users/download/ - -- MS Visual Studio 2005. - -- SVN comand line tool, especially svnversion (optional) - Available at http://subversion.tigris.org/ - svnversion must be in your path + 3ds Max 2011, 2012, 2013, 2014, 2015 + +- MS Visual Studio 2013 for loading the solution (should work with 2012) + MS Visual Studio 2008 to compile for Max 2011/2012 + MS Visual Studio 2010 to compile for Max 2013/2014 + MS Visual Studio 2012 to compile for Max 2015 + +IMPORTANT : DO NOT let visual studio convert the project files if it ask to when loading the solution. + It is normal that the solution references different toolchains. + +(optional) +- GIT comand line tool in your path. This is used by script\create_version_info_h.bat to create include\COLLADAMaxVersionInfo.h file in the COLLADAMAX prebuild Building: --------- -Before you can start to build you need to set three environment variables. The MAX_PATH* variable -must be set to the installation path of the 3ds Max installation you want to use, i.e. the path -that contains 3dsmax.exe and the MAX_SDK_PATH* variable must be set to the installation path of the -3ds Max installation you want to use, i.e. the path hat contains, among others, the "include" -and "lib" directories. The complete name of the environment variable -depends on the version of 3ds Max as listed below: - -3ds Max Version | max environment variable | max sdk environment variable ------------------------------------------------------------------------------- -3ds Max 9 | MAX_PATH9 | MAX_SDK_PATH9 -3ds Max 2008 | MAX_PATH2008 | MAX_SDK_PATH2008 -3ds Max 2009 | MAX_PATH2009 | MAX_SDK_PATH2009 - - -The following environment variables need to be set for BOOST: - -"BOOST_ROOT": Set to your installation path of the boost headers, i.e. the path that contains - the "include" directory. -"BOOST_LIB_PATH" (win32 only): Set to your installation path of the boost libraries, i.e. the path that contains - all the *.lib files. -"BOOST_LIB64_PATH" (win64 only): Set to your installation path of the boost libraries, i.e. the path that contains - all the *.lib files. +Before you can start to build you need to set an environment variable that points to the MAX SDK + +The variable is MAX_SDK_PATHXXXX with XXXX replaced with the version of 3DSMAX you want to build for. + +For example: + +MAX_SDK_PATH2012=C:\Program Files (x86)\Autodesk\3ds Max 2012\maxsdk + +would be the value for a 2012 default installation. + +remember to set the variable before launching visual studio, preferably using the + +Then selet the corresponding build target in visual studio + +Release or ReleaseStatic or Debug or DebugStatic for the correct version of 3DS MAX. + +No longer supported: +-------------------- -To build the plug-in open "COLLADAMax.sln" with MS Visual Studio 2005, choose the configuration -you want to build und build the project. +The following versions used to be supported by the plug-in. +But those are no longer maintained/tested. The source code still contains reference to those versions -If the build process succeeded the plug-in file (ColladaMaxNew.dle) is automatically copied into -your "plugins" directory of your 3ds Max installation. -After the next start of 3ds Max the plugin is available and can be found as "NEWCOLLADA" in the -export dialog. +3ds Max 7 (32bit) +3ds Max 8 (32bit) +3ds Max 9 (32bit/64bit) +3ds Max 2008 (32bit/64bit) +3ds Max 2009 (32bit/64bit) +3ds Max 2010 (32bit/64bit) diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/COLLADAMax.sln opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/COLLADAMax.sln --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/COLLADAMax.sln 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/COLLADAMax.sln 2016-07-13 19:25:45.000000000 +0000 @@ -1,97 +1,38 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAMax", "scripts\COLLADAMax.vcproj", "{8840B0EA-A0B3-45D6-855D-8382B247CE8B}" - ProjectSection(ProjectDependencies) = postProject - {81F6BA2E-BB3A-4D67-AC12-A112946EB832} = {81F6BA2E-BB3A-4D67-AC12-A112946EB832} - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD} = {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD} - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} = {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} = {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} = {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B} = {EAB66F01-60B5-43C9-B78D-A8B0B545A20B} - {8628A8F8-BD50-4463-9EE7-F9118CBA194A} = {8628A8F8-BD50-4463-9EE7-F9118CBA194A} - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {71A48A24-8603-49FB-9458-CB4E97309378} = {71A48A24-8603-49FB-9458-CB4E97309378} - EndProjectSection - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.24720.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAMax", "scripts\COLLADAMax.vcxproj", "{8840B0EA-A0B3-45D6-855D-8382B247CE8B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAStreamWriter", "..\COLLADAStreamWriter\scripts\COLLADAStreamWriter.vcproj", "{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}" - ProjectSection(ProjectDependencies) = postProject - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} = {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {D1D50DE5-1C1D-4322-B076-8B223A5984A4} = {D1D50DE5-1C1D-4322-B076-8B223A5984A4} - EndProjectSection - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAStreamWriter", "..\COLLADAStreamWriter\scripts\COLLADAStreamWriter.vcxproj", "{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAFramework", "..\COLLADAFramework\scripts\COLLADAFramework.vcproj", "{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}" - ProjectSection(ProjectDependencies) = postProject - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAFramework", "..\COLLADAFramework\scripts\COLLADAFramework.vcxproj", "{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADABaseUtils", "..\COLLADABaseUtils\scripts\COLLADABaseUtils.vcproj", "{2C3C4869-D684-4981-98E7-6D9798B72145}" - ProjectSection(ProjectDependencies) = postProject - {71A48A24-8603-49FB-9458-CB4E97309378} = {71A48A24-8603-49FB-9458-CB4E97309378} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADABaseUtils", "..\COLLADABaseUtils\scripts\COLLADABaseUtils.vcxproj", "{2C3C4869-D684-4981-98E7-6D9798B72145}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADASaxFrameworkLoader", "..\COLLADASaxFrameworkLoader\scripts\COLLADASaxFrameworkLoader.vcproj", "{8628A8F8-BD50-4463-9EE7-F9118CBA194A}" - ProjectSection(ProjectDependencies) = postProject - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} = {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} = {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADASaxFrameworkLoader", "..\COLLADASaxFrameworkLoader\scripts\COLLADASaxFrameworkLoader.vcxproj", "{8628A8F8-BD50-4463-9EE7-F9118CBA194A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeneratedSaxParser", "..\GeneratedSaxParser\scripts\GeneratedSaxParser.vcproj", "{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}" - ProjectSection(ProjectDependencies) = postProject - {71A48A24-8603-49FB-9458-CB4E97309378} = {71A48A24-8603-49FB-9458-CB4E97309378} - {D7F466F4-2AEA-4648-BE09-024C887BC157} = {D7F466F4-2AEA-4648-BE09-024C887BC157} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeneratedSaxParser", "..\GeneratedSaxParser\scripts\GeneratedSaxParser.vcxproj", "{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXML", "..\Externals\LibXML\scripts\LibXML.vcproj", "{D7F466F4-2AEA-4648-BE09-024C887BC157}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXML", "..\Externals\LibXML\scripts\LibXML.vcxproj", "{D7F466F4-2AEA-4648-BE09-024C887BC157}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\Externals\pcre\scripts\pcre.vcproj", "{71A48A24-8603-49FB-9458-CB4E97309378}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\Externals\pcre\scripts\pcre.vcxproj", "{71A48A24-8603-49FB-9458-CB4E97309378}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "G3DWarehouseBrowser", "..\G3DWarehouseBrowser\scripts\G3DWarehouseBrowser.vcproj", "{81F6BA2E-BB3A-4D67-AC12-A112946EB832}" - ProjectSection(ProjectDependencies) = postProject - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD} = {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD} - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} = {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "G3DWarehouseBrowser", "..\G3DWarehouseBrowser\scripts\G3DWarehouseBrowser.vcxproj", "{81F6BA2E-BB3A-4D67-AC12-A112946EB832}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\Externals\zlib\scripts\zlib.vcproj", "{E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\Externals\zlib\scripts\zlib.vcxproj", "{E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zzip", "..\Externals\zziplib\scripts\zzip.vcproj", "{CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}" - ProjectSection(ProjectDependencies) = postProject - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} = {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zzip", "..\Externals\zziplib\scripts\zzip.vcxproj", "{CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathMLSolver", "..\Externals\MathMLSolver\scripts\MathMLSolver.vcproj", "{F1DEFC38-6AA9-4799-983B-96610117CAF7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathMLSolver", "..\Externals\MathMLSolver\scripts\MathMLSolver.vcxproj", "{F1DEFC38-6AA9-4799-983B-96610117CAF7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBuffer", "..\common\libBuffer\scripts\libBuffer.vcproj", "{D1D50DE5-1C1D-4322-B076-8B223A5984A4}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBuffer", "..\common\libBuffer\scripts\libBuffer.vcxproj", "{D1D50DE5-1C1D-4322-B076-8B223A5984A4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libftoa", "..\common\libftoa\scripts\libftoa.vcproj", "{12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libftoa", "..\common\libftoa\scripts\libftoa.vcxproj", "{12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug_Max2008_static|Win32 = Debug_Max2008_static|Win32 - Debug_Max2008_static|x64 = Debug_Max2008_static|x64 - Debug_Max2008|Win32 = Debug_Max2008|Win32 - Debug_Max2008|x64 = Debug_Max2008|x64 - Debug_Max2009_static|Win32 = Debug_Max2009_static|Win32 - Debug_Max2009_static|x64 = Debug_Max2009_static|x64 - Debug_Max2009|Win32 = Debug_Max2009|Win32 - Debug_Max2009|x64 = Debug_Max2009|x64 - Debug_Max2010_static|Win32 = Debug_Max2010_static|Win32 - Debug_Max2010_static|x64 = Debug_Max2010_static|x64 - Debug_Max2010|Win32 = Debug_Max2010|Win32 - Debug_Max2010|x64 = Debug_Max2010|x64 Debug_Max2011_static|Win32 = Debug_Max2011_static|Win32 Debug_Max2011_static|x64 = Debug_Max2011_static|x64 Debug_Max2011|Win32 = Debug_Max2011|Win32 @@ -104,34 +45,26 @@ Debug_Max2013_static|x64 = Debug_Max2013_static|x64 Debug_Max2013|Win32 = Debug_Max2013|Win32 Debug_Max2013|x64 = Debug_Max2013|x64 - Debug_Max7_static|Win32 = Debug_Max7_static|Win32 - Debug_Max7_static|x64 = Debug_Max7_static|x64 - Debug_Max7|Win32 = Debug_Max7|Win32 - Debug_Max7|x64 = Debug_Max7|x64 - Debug_Max8_static|Win32 = Debug_Max8_static|Win32 - Debug_Max8_static|x64 = Debug_Max8_static|x64 - Debug_Max8|Win32 = Debug_Max8|Win32 - Debug_Max8|x64 = Debug_Max8|x64 - Debug_Max9_static|Win32 = Debug_Max9_static|Win32 - Debug_Max9_static|x64 = Debug_Max9_static|x64 - Debug_Max9|Win32 = Debug_Max9|Win32 - Debug_Max9|x64 = Debug_Max9|x64 - Release_Max2008_static|Win32 = Release_Max2008_static|Win32 - Release_Max2008_static|x64 = Release_Max2008_static|x64 - Release_Max2008|Win32 = Release_Max2008|Win32 - Release_Max2008|x64 = Release_Max2008|x64 - Release_Max2009 ProgDB|Win32 = Release_Max2009 ProgDB|Win32 - Release_Max2009 ProgDB|x64 = Release_Max2009 ProgDB|x64 - Release_Max2009_ProgDB_static|Win32 = Release_Max2009_ProgDB_static|Win32 - Release_Max2009_ProgDB_static|x64 = Release_Max2009_ProgDB_static|x64 - Release_Max2009_static|Win32 = Release_Max2009_static|Win32 - Release_Max2009_static|x64 = Release_Max2009_static|x64 - Release_Max2009|Win32 = Release_Max2009|Win32 - Release_Max2009|x64 = Release_Max2009|x64 - Release_Max2010_static|Win32 = Release_Max2010_static|Win32 - Release_Max2010_static|x64 = Release_Max2010_static|x64 - Release_Max2010|Win32 = Release_Max2010|Win32 - Release_Max2010|x64 = Release_Max2010|x64 + Debug_Max2014_SP5_static|Win32 = Debug_Max2014_SP5_static|Win32 + Debug_Max2014_SP5_static|x64 = Debug_Max2014_SP5_static|x64 + Debug_Max2014_SP5|Win32 = Debug_Max2014_SP5|Win32 + Debug_Max2014_SP5|x64 = Debug_Max2014_SP5|x64 + Debug_Max2014_static|Win32 = Debug_Max2014_static|Win32 + Debug_Max2014_static|x64 = Debug_Max2014_static|x64 + Debug_Max2014|Win32 = Debug_Max2014|Win32 + Debug_Max2014|x64 = Debug_Max2014|x64 + Debug_Max2015_static|Win32 = Debug_Max2015_static|Win32 + Debug_Max2015_static|x64 = Debug_Max2015_static|x64 + Debug_Max2015|Win32 = Debug_Max2015|Win32 + Debug_Max2015|x64 = Debug_Max2015|x64 + Debug_Max2016_static|Win32 = Debug_Max2016_static|Win32 + Debug_Max2016_static|x64 = Debug_Max2016_static|x64 + Debug_Max2016|Win32 = Debug_Max2016|Win32 + Debug_Max2016|x64 = Debug_Max2016|x64 + Debug_Max2017_static|Win32 = Debug_Max2017_static|Win32 + Debug_Max2017_static|x64 = Debug_Max2017_static|x64 + Debug_Max2017|Win32 = Debug_Max2017|Win32 + Debug_Max2017|x64 = Debug_Max2017|x64 Release_Max2011_static|Win32 = Release_Max2011_static|Win32 Release_Max2011_static|x64 = Release_Max2011_static|x64 Release_Max2011|Win32 = Release_Max2011|Win32 @@ -144,44 +77,28 @@ Release_Max2013_static|x64 = Release_Max2013_static|x64 Release_Max2013|Win32 = Release_Max2013|Win32 Release_Max2013|x64 = Release_Max2013|x64 - Release_Max7_static|Win32 = Release_Max7_static|Win32 - Release_Max7_static|x64 = Release_Max7_static|x64 - Release_Max7|Win32 = Release_Max7|Win32 - Release_Max7|x64 = Release_Max7|x64 - Release_Max8_static|Win32 = Release_Max8_static|Win32 - Release_Max8_static|x64 = Release_Max8_static|x64 - Release_Max8|Win32 = Release_Max8|Win32 - Release_Max8|x64 = Release_Max8|x64 - Release_Max9_static|Win32 = Release_Max9_static|Win32 - Release_Max9_static|x64 = Release_Max9_static|x64 - Release_Max9|Win32 = Release_Max9|Win32 - Release_Max9|x64 = Release_Max9|x64 + Release_Max2014_SP5_static|Win32 = Release_Max2014_SP5_static|Win32 + Release_Max2014_SP5_static|x64 = Release_Max2014_SP5_static|x64 + Release_Max2014_SP5|Win32 = Release_Max2014_SP5|Win32 + Release_Max2014_SP5|x64 = Release_Max2014_SP5|x64 + Release_Max2014_static|Win32 = Release_Max2014_static|Win32 + Release_Max2014_static|x64 = Release_Max2014_static|x64 + Release_Max2014|Win32 = Release_Max2014|Win32 + Release_Max2014|x64 = Release_Max2014|x64 + Release_Max2015_static|Win32 = Release_Max2015_static|Win32 + Release_Max2015_static|x64 = Release_Max2015_static|x64 + Release_Max2015|Win32 = Release_Max2015|Win32 + Release_Max2015|x64 = Release_Max2015|x64 + Release_Max2016_static|Win32 = Release_Max2016_static|Win32 + Release_Max2016_static|x64 = Release_Max2016_static|x64 + Release_Max2016|Win32 = Release_Max2016|Win32 + Release_Max2016|x64 = Release_Max2016|x64 + Release_Max2017_static|Win32 = Release_Max2017_static|Win32 + Release_Max2017_static|x64 = Release_Max2017_static|x64 + Release_Max2017|Win32 = Release_Max2017|Win32 + Release_Max2017|x64 = Release_Max2017|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008_static|Win32.ActiveCfg = Debug_Max2008_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008_static|Win32.Build.0 = Debug_Max2008_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008_static|x64.ActiveCfg = Debug_Max2008_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008_static|x64.Build.0 = Debug_Max2008_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008|Win32.ActiveCfg = Debug_Max2008|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008|Win32.Build.0 = Debug_Max2008|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008|x64.ActiveCfg = Debug_Max2008|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2008|x64.Build.0 = Debug_Max2008|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009_static|Win32.ActiveCfg = Debug_Max2009_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009_static|Win32.Build.0 = Debug_Max2009_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009_static|x64.ActiveCfg = Debug_Max2009_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009_static|x64.Build.0 = Debug_Max2009_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009|Win32.ActiveCfg = Debug_Max2009|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009|Win32.Build.0 = Debug_Max2009|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009|x64.ActiveCfg = Debug_Max2009|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2009|x64.Build.0 = Debug_Max2009|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010_static|Win32.ActiveCfg = Debug_Max2010_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010_static|Win32.Build.0 = Debug_Max2010_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010_static|x64.ActiveCfg = Debug_Max2010_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010_static|x64.Build.0 = Debug_Max2010_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010|Win32.ActiveCfg = Debug_Max2010|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010|Win32.Build.0 = Debug_Max2010|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010|x64.ActiveCfg = Debug_Max2010|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2010|x64.Build.0 = Debug_Max2010|x64 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2011_static|Win32.ActiveCfg = Debug_Max2011_static|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2011_static|Win32.Build.0 = Debug_Max2011_static|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2011_static|x64.ActiveCfg = Debug_Max2011_static|x64 @@ -206,62 +123,36 @@ {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2013|Win32.Build.0 = Debug_Max2013|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2013|x64.ActiveCfg = Debug_Max2013|x64 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2013|x64.Build.0 = Debug_Max2013|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7_static|Win32.ActiveCfg = Debug_Max7_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7_static|Win32.Build.0 = Debug_Max7_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7_static|x64.ActiveCfg = Debug_Max7_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7_static|x64.Build.0 = Debug_Max7_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7|Win32.ActiveCfg = Debug_Max7|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7|Win32.Build.0 = Debug_Max7|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7|x64.ActiveCfg = Debug_Max7|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max7|x64.Build.0 = Debug_Max7|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8_static|Win32.ActiveCfg = Debug_Max8_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8_static|Win32.Build.0 = Debug_Max8_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8_static|x64.ActiveCfg = Debug_Max8_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8_static|x64.Build.0 = Debug_Max8_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8|Win32.ActiveCfg = Debug_Max8|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8|Win32.Build.0 = Debug_Max8|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8|x64.ActiveCfg = Debug_Max8|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max8|x64.Build.0 = Debug_Max8|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9_static|Win32.ActiveCfg = Debug_Max9_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9_static|Win32.Build.0 = Debug_Max9_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9_static|x64.ActiveCfg = Debug_Max9_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9_static|x64.Build.0 = Debug_Max9_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9|Win32.ActiveCfg = Debug_Max9|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9|Win32.Build.0 = Debug_Max9|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9|x64.ActiveCfg = Debug_Max9|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max9|x64.Build.0 = Debug_Max9|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008_static|Win32.ActiveCfg = Release_Max2008_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008_static|Win32.Build.0 = Release_Max2008_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008_static|x64.ActiveCfg = Release_Max2008_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008_static|x64.Build.0 = Release_Max2008_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008|Win32.ActiveCfg = Release_Max2008|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008|Win32.Build.0 = Release_Max2008|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008|x64.ActiveCfg = Release_Max2008|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2008|x64.Build.0 = Release_Max2008|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_Max2009_ProgDB|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009 ProgDB|Win32.Build.0 = Release_Max2009_ProgDB|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_Max2009_ProgDB|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009 ProgDB|x64.Build.0 = Release_Max2009_ProgDB|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_Max2009_ProgDB_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_Max2009_ProgDB_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_Max2009_ProgDB_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_Max2009_ProgDB_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_static|Win32.ActiveCfg = Release_Max2009_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_static|Win32.Build.0 = Release_Max2009_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_static|x64.ActiveCfg = Release_Max2009_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009_static|x64.Build.0 = Release_Max2009_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009|Win32.ActiveCfg = Release_Max2009|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009|Win32.Build.0 = Release_Max2009|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009|x64.ActiveCfg = Release_Max2009|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2009|x64.Build.0 = Release_Max2009|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010_static|Win32.ActiveCfg = Release_Max2010_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010_static|Win32.Build.0 = Release_Max2010_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010_static|x64.ActiveCfg = Release_Max2010_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010_static|x64.Build.0 = Release_Max2010_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010|Win32.ActiveCfg = Release_Max2010|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010|Win32.Build.0 = Release_Max2010|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010|x64.ActiveCfg = Release_Max2010|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2010|x64.Build.0 = Release_Max2010|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_Max2014_SP5_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_Max2014_SP5_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_Max2014_SP5_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_Max2014_SP5|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_Max2014_SP5|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_SP5|x64.Build.0 = Debug_Max2014_SP5|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_static|Win32.ActiveCfg = Debug_Max2014_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_static|x64.ActiveCfg = Debug_Max2014_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014_static|x64.Build.0 = Debug_Max2014_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014|Win32.ActiveCfg = Debug_Max2014|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014|x64.ActiveCfg = Debug_Max2014|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2014|x64.Build.0 = Debug_Max2014|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015_static|Win32.ActiveCfg = Debug_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015_static|x64.ActiveCfg = Debug_Max2015_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015_static|x64.Build.0 = Debug_Max2015_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015|Win32.ActiveCfg = Debug_Max2015|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015|x64.ActiveCfg = Debug_Max2015|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2015|x64.Build.0 = Debug_Max2015|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016_static|Win32.ActiveCfg = Debug_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016_static|x64.ActiveCfg = Debug_Max2016_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016_static|x64.Build.0 = Debug_Max2016_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016|Win32.ActiveCfg = Debug_Max2015|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016|x64.ActiveCfg = Debug_Max2016|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2016|x64.Build.0 = Debug_Max2016|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017_static|Win32.ActiveCfg = Debug_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017_static|x64.ActiveCfg = Debug_Max2017_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017_static|x64.Build.0 = Debug_Max2017_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017|Win32.ActiveCfg = Debug_Max2015|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017|x64.ActiveCfg = Debug_Max2017|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Debug_Max2017|x64.Build.0 = Debug_Max2017|x64 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2011_static|Win32.ActiveCfg = Release_Max2011_static|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2011_static|Win32.Build.0 = Release_Max2011_static|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2011_static|x64.ActiveCfg = Release_Max2011_static|x64 @@ -286,2006 +177,1444 @@ {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2013|Win32.Build.0 = Release_Max2013|Win32 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2013|x64.ActiveCfg = Release_Max2013|x64 {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2013|x64.Build.0 = Release_Max2013|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7_static|Win32.ActiveCfg = Release_Max7_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7_static|Win32.Build.0 = Release_Max7_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7_static|x64.ActiveCfg = Release_Max7_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7_static|x64.Build.0 = Release_Max7_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7|Win32.ActiveCfg = Release_Max7|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7|Win32.Build.0 = Release_Max7|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7|x64.ActiveCfg = Release_Max7|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max7|x64.Build.0 = Release_Max7|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8_static|Win32.ActiveCfg = Release_Max8_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8_static|Win32.Build.0 = Release_Max8_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8_static|x64.ActiveCfg = Release_Max8_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8_static|x64.Build.0 = Release_Max8_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8|Win32.ActiveCfg = Release_Max8|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8|Win32.Build.0 = Release_Max8|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8|x64.ActiveCfg = Release_Max8|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max8|x64.Build.0 = Release_Max8|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9_static|Win32.ActiveCfg = Release_Max9_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9_static|Win32.Build.0 = Release_Max9_static|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9_static|x64.ActiveCfg = Release_Max9_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9_static|x64.Build.0 = Release_Max9_static|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9|Win32.ActiveCfg = Release_Max9|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9|Win32.Build.0 = Release_Max9|Win32 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9|x64.ActiveCfg = Release_Max9|x64 - {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max9|x64.Build.0 = Release_Max9|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2008|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2009|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2010|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max7|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max8|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max9|x64.Build.0 = Debug|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2008|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_ProgDB|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009 ProgDB|Win32.Build.0 = Release_ProgDB|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_ProgDB|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009 ProgDB|x64.Build.0 = Release_ProgDB|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2009|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2010|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max7|x64.Build.0 = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8|x64.ActiveCfg = Release_ProgDB|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max8|x64.Build.0 = Release_ProgDB|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9|Win32.Build.0 = Release|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9|x64.ActiveCfg = Release|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max9|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2008|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2009|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2010|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max7|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max8|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max9|x64.Build.0 = Debug|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2008|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_ProgDB|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009 ProgDB|Win32.Build.0 = Release_ProgDB|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_ProgDB|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009 ProgDB|x64.Build.0 = Release_ProgDB|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2009|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2010|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max7|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max8|x64.Build.0 = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9|Win32.Build.0 = Release|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9|x64.ActiveCfg = Release|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max9|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2008|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2009|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2010|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max7|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max8|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max9|x64.Build.0 = Debug|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2008|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_ProgDB|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009 ProgDB|Win32.Build.0 = Release_ProgDB|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_ProgDB|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009 ProgDB|x64.Build.0 = Release_ProgDB|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2009|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2010|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max7|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max8|x64.Build.0 = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9|Win32.Build.0 = Release|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9|x64.ActiveCfg = Release|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max9|x64.Build.0 = Release|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2008|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2009|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2010|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|Win32.ActiveCfg = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|Win32.Build.0 = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|Win32.ActiveCfg = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|Win32.Build.0 = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|Win32.ActiveCfg = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|Win32.Build.0 = Debug_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max7|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max8|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9_static|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9_static|x64.Build.0 = Debug_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9|Win32.ActiveCfg = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9|Win32.Build.0 = Debug_LibXML_NoValidation|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9|x64.ActiveCfg = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max9|x64.Build.0 = Debug_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2008|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_LibXML_ProgDB|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009 ProgDB|Win32.Build.0 = Release_LibXML_ProgDB|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_LibXML_ProgDB|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009 ProgDB|x64.Build.0 = Release_LibXML_ProgDB|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2009|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2010|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max7|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max8|x64.Build.0 = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9_static|Win32.Build.0 = Release_LibXML_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9_static|x64.ActiveCfg = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9_static|x64.Build.0 = Release_LibXML_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9|Win32.ActiveCfg = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9|Win32.Build.0 = Release_LibXML|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9|x64.ActiveCfg = Release_LibXML|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max9|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2008|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2009|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2010|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max7|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max8|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9_static|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9_static|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9_static|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9_static|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9|Win32.ActiveCfg = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9|Win32.Build.0 = Debug_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9|x64.ActiveCfg = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max9|x64.Build.0 = Debug_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2008|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_LibXML_ProgDB|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009 ProgDB|Win32.Build.0 = Release_LibXML_ProgDB|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_LibXML_ProgDB|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009 ProgDB|x64.Build.0 = Release_LibXML_ProgDB|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2009|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2010|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max7|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max8|x64.Build.0 = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9_static|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9_static|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9_static|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9_static|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9|Win32.ActiveCfg = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9|Win32.Build.0 = Release_LibXML|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9|x64.ActiveCfg = Release_LibXML|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max9|x64.Build.0 = Release_LibXML|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2008|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2009|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2010|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max7|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max8|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max9|x64.Build.0 = Debug|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2008|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009 ProgDB|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009 ProgDB|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009 ProgDB|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2009|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2010|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max7|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max8|x64.Build.0 = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9|Win32.Build.0 = Release|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9|x64.ActiveCfg = Release|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max9|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2008|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2009|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2010|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max7|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max8|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max9|x64.Build.0 = Debug|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2008|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009 ProgDB|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009 ProgDB|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009 ProgDB|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2009|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2010|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max7|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max8|x64.Build.0 = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9|Win32.Build.0 = Release|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9|x64.ActiveCfg = Release|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max9|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2008|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2009|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2010|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max7|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max8|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max9|x64.Build.0 = Debug|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2008|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009 ProgDB|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009 ProgDB|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009 ProgDB|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2009|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2010|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max7|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max8|x64.Build.0 = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9|Win32.Build.0 = Release|Win32 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9|x64.ActiveCfg = Release|x64 - {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max9|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2008|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2009|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2010|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max7|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max8|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max9|x64.Build.0 = Debug|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2008|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009 ProgDB|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009 ProgDB|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009 ProgDB|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2009|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2010|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max7|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max8|x64.Build.0 = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9|Win32.Build.0 = Release|Win32 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9|x64.ActiveCfg = Release|x64 - {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max9|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2008|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2009|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2010|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max7|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max8|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max9|x64.Build.0 = Debug|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2008|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009 ProgDB|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009 ProgDB|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009 ProgDB|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2009|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2010|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max7|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max8|x64.Build.0 = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9|Win32.Build.0 = Release|Win32 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9|x64.ActiveCfg = Release|x64 - {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max9|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2008|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2009|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2010|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max7|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max8|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9_static|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9_static|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9_static|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9_static|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9|Win32.ActiveCfg = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9|Win32.Build.0 = Debug|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9|x64.ActiveCfg = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max9|x64.Build.0 = Debug|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2008|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_ProgDB|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009 ProgDB|Win32.Build.0 = Release_ProgDB|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_ProgDB|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009 ProgDB|x64.Build.0 = Release_ProgDB|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2009|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2010|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max7|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max8|x64.Build.0 = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9_static|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9_static|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9_static|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9_static|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9|Win32.ActiveCfg = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9|Win32.Build.0 = Release|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9|x64.ActiveCfg = Release|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max9|x64.Build.0 = Release|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2008|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2009|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2010|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max7|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max8|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9_static|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9_static|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9_static|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9|Win32.ActiveCfg = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9|Win32.Build.0 = Debug_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9|x64.ActiveCfg = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max9|x64.Build.0 = Debug_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2008|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009 ProgDB|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009 ProgDB|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2009|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2010|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max7|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max8|x64.Build.0 = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9_static|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9_static|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9_static|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9_static|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9|Win32.ActiveCfg = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9|Win32.Build.0 = Release_lib|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9|x64.ActiveCfg = Release_lib|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max9|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2008|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2009|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2010|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max7|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max8|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9_static|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9_static|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9_static|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9_static|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9|Win32.ActiveCfg = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9|Win32.Build.0 = Debug_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9|x64.ActiveCfg = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max9|x64.Build.0 = Debug_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2008|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009 ProgDB|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009 ProgDB|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009 ProgDB|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009 ProgDB|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_ProgDB_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_ProgDB_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_ProgDB_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_ProgDB_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2009|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2010|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max7|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max8|x64.Build.0 = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9_static|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9_static|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9_static|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9_static|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9|Win32.ActiveCfg = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9|Win32.Build.0 = Release_lib|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9|x64.ActiveCfg = Release_lib|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max9|x64.Build.0 = Release_lib|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_Max2014_SP5_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_Max2014_SP5_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5_static|x64.Build.0 = Release_Max2014_SP5_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5|Win32.ActiveCfg = Release_Max2014_SP5|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5|x64.ActiveCfg = Release_Max2014_SP5|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_SP5|x64.Build.0 = Release_Max2014_SP5|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_static|Win32.ActiveCfg = Release_Max2014_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_static|x64.ActiveCfg = Release_Max2014_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014_static|x64.Build.0 = Release_Max2014_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014|Win32.ActiveCfg = Release_Max2014|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014|x64.ActiveCfg = Release_Max2014|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2014|x64.Build.0 = Release_Max2014|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015_static|Win32.ActiveCfg = Release_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015_static|x64.ActiveCfg = Release_Max2015_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015_static|x64.Build.0 = Release_Max2015_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015|Win32.ActiveCfg = Release_Max2015|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015|x64.ActiveCfg = Release_Max2015|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2015|x64.Build.0 = Release_Max2015|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016_static|Win32.ActiveCfg = Release_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016_static|x64.ActiveCfg = Release_Max2016_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016_static|x64.Build.0 = Release_Max2016_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016|Win32.ActiveCfg = Release_Max2016|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016|x64.ActiveCfg = Release_Max2016|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2016|x64.Build.0 = Release_Max2016|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017_static|Win32.ActiveCfg = Release_Max2015_static|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017_static|x64.ActiveCfg = Release_Max2017_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017_static|x64.Build.0 = Release_Max2017_static|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017|Win32.ActiveCfg = Release_Max2017|Win32 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017|x64.ActiveCfg = Release_Max2017|x64 + {8840B0EA-A0B3-45D6-855D-8382B247CE8B}.Release_Max2017|x64.Build.0 = Release_Max2017|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|Win32.Build.0 = Debug_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5_static|Win32.Build.0 = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_static|Win32.Build.0 = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5|Win32.ActiveCfg = Release_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5_static|Win32.Build.0 = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_static|Win32.Build.0 = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5|Win32.ActiveCfg = Release_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017|Win32.ActiveCfg = Release_v140|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|Win32.ActiveCfg = Debug_LibXML_NoValidation_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|Win32.Build.0 = Debug_LibXML_NoValidation_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|x64.ActiveCfg = Debug_LibXML_NoValidation_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2011|x64.Build.0 = Debug_LibXML_NoValidation_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|Win32.ActiveCfg = Debug_LibXML_NoValidation_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|Win32.Build.0 = Debug_LibXML_NoValidation_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|x64.ActiveCfg = Debug_LibXML_NoValidation_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2012|x64.Build.0 = Debug_LibXML_NoValidation_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|Win32.Build.0 = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|Win32.ActiveCfg = Debug_LibXML_NoValidation_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|Win32.Build.0 = Debug_LibXML_NoValidation_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|x64.ActiveCfg = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2013|x64.Build.0 = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_Expat|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_Expat|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_SP5|x64.Build.0 = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014|Win32.ActiveCfg = Debug_LibXML_NoValidation_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014|x64.ActiveCfg = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2014|x64.Build.0 = Debug_LibXML_NoValidation_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015|Win32.ActiveCfg = Debug_LibXML_NoValidation_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015|x64.ActiveCfg = Debug_LibXML_NoValidation_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2015|x64.Build.0 = Debug_LibXML_NoValidation_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016|Win32.ActiveCfg = Debug_LibXML_NoValidation_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016|x64.ActiveCfg = Debug_LibXML_NoValidation_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2016|x64.Build.0 = Debug_LibXML_NoValidation_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017_static|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017_static|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017_static|x64.Build.0 = Debug_LibXML_NoValidation_static_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017|Win32.ActiveCfg = Debug_LibXML_NoValidation_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017|x64.ActiveCfg = Debug_LibXML_NoValidation_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Debug_Max2017|x64.Build.0 = Debug_LibXML_NoValidation_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|Win32.Build.0 = Release_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011_static|x64.Build.0 = Release_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|Win32.ActiveCfg = Release_LibXML_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|Win32.Build.0 = Release_LibXML_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|x64.ActiveCfg = Release_LibXML_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2011|x64.Build.0 = Release_LibXML_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|Win32.Build.0 = Release_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012_static|x64.Build.0 = Release_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|Win32.ActiveCfg = Release_LibXML_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|Win32.Build.0 = Release_LibXML_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|x64.ActiveCfg = Release_LibXML_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2012|x64.Build.0 = Release_LibXML_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|Win32.Build.0 = Release_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013_static|x64.Build.0 = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|Win32.ActiveCfg = Release_LibXML_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|Win32.Build.0 = Release_LibXML_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|x64.ActiveCfg = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2013|x64.Build.0 = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5_static|x64.Build.0 = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5|x64.ActiveCfg = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_SP5|x64.Build.0 = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014_static|x64.Build.0 = Release_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014|Win32.ActiveCfg = Release_LibXML_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014|x64.ActiveCfg = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2014|x64.Build.0 = Release_LibXML_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015_static|x64.Build.0 = Release_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015|x64.ActiveCfg = Release_LibXML_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2015|x64.Build.0 = Release_LibXML_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016_static|x64.Build.0 = Release_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016|x64.ActiveCfg = Release_LibXML_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2016|x64.Build.0 = Release_LibXML_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017_static|Win32.ActiveCfg = Release_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017_static|x64.ActiveCfg = Release_LibXML_NoValidation_static_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017_static|x64.Build.0 = Release_LibXML_NoValidation_static_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017|x64.ActiveCfg = Release_LibXML_v140|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.Release_Max2017|x64.Build.0 = Release_LibXML_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011_static|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|Win32.ActiveCfg = Debug_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|Win32.Build.0 = Debug_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|x64.ActiveCfg = Debug_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2011|x64.Build.0 = Debug_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012_static|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|Win32.ActiveCfg = Debug_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|Win32.Build.0 = Debug_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|x64.ActiveCfg = Debug_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2012|x64.Build.0 = Debug_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|Win32.Build.0 = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013_static|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|Win32.ActiveCfg = Debug_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|Win32.Build.0 = Debug_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|x64.ActiveCfg = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2013|x64.Build.0 = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_Expat|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_Expat|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_SP5|x64.Build.0 = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_static|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_static|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014_static|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014|Win32.ActiveCfg = Debug_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014|x64.ActiveCfg = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2014|x64.Build.0 = Debug_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015_static|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015_static|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015_static|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015|Win32.ActiveCfg = Debug_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015|x64.ActiveCfg = Debug_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2015|x64.Build.0 = Debug_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016_static|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016_static|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016_static|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016|Win32.ActiveCfg = Debug_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016|x64.ActiveCfg = Debug_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2016|x64.Build.0 = Debug_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017_static|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017_static|x64.ActiveCfg = Debug_LibXML_static_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017_static|x64.Build.0 = Debug_LibXML_static_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017|Win32.ActiveCfg = Debug_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017|x64.ActiveCfg = Debug_LibXML_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Debug_Max2017|x64.Build.0 = Debug_LibXML_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011_static|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|Win32.ActiveCfg = Release_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|Win32.Build.0 = Release_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|x64.ActiveCfg = Release_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2011|x64.Build.0 = Release_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012_static|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|Win32.ActiveCfg = Release_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|Win32.Build.0 = Release_LibXML_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|x64.ActiveCfg = Release_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2012|x64.Build.0 = Release_LibXML_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|Win32.Build.0 = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013_static|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|Win32.ActiveCfg = Release_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|Win32.Build.0 = Release_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|x64.ActiveCfg = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2013|x64.Build.0 = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5_static|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5|x64.ActiveCfg = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_SP5|x64.Build.0 = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_static|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_static|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014_static|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014|Win32.ActiveCfg = Release_LibXML_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014|x64.ActiveCfg = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2014|x64.Build.0 = Release_LibXML_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015_static|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015_static|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015_static|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015|x64.ActiveCfg = Release_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2015|x64.Build.0 = Release_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016_static|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016_static|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016_static|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016|x64.ActiveCfg = Release_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2016|x64.Build.0 = Release_LibXML_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017_static|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017_static|x64.ActiveCfg = Release_LibXML_static_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017_static|x64.Build.0 = Release_LibXML_static_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017|Win32.ActiveCfg = Release_LibXML_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017|x64.ActiveCfg = Release_LibXML_v140|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.Release_Max2017|x64.Build.0 = Release_LibXML_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|Win32.Build.0 = Debug_v90|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {81F6BA2E-BB3A-4D67-AC12-A112946EB832}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v149|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017_static|x64.Build.0 = Debug_static_v149|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {E0BA2017-9EC0-496C-BA5C-FB19C44A7AF0}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_static|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5|Win32.ActiveCfg = Release_static|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {CB440073-2ED3-48CE-A1A1-B6EACB3A44BD}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011_static|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|Win32.ActiveCfg = Debug_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|Win32.Build.0 = Debug_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|x64.ActiveCfg = Debug_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2011|x64.Build.0 = Debug_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012_static|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|Win32.ActiveCfg = Debug_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|Win32.Build.0 = Debug_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|x64.ActiveCfg = Debug_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2012|x64.Build.0 = Debug_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|Win32.Build.0 = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013_static|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|Win32.ActiveCfg = Debug_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|Win32.Build.0 = Debug_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|x64.ActiveCfg = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2013|x64.Build.0 = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_static|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_static|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_SP5|x64.Build.0 = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_static|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_static|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014_static|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014|Win32.ActiveCfg = Debug_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014|x64.ActiveCfg = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2014|x64.Build.0 = Debug_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015_static|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015_static|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015|Win32.ActiveCfg = Debug_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015|x64.ActiveCfg = Debug_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2015|x64.Build.0 = Debug_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016_static|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016_static|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016|Win32.ActiveCfg = Debug_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016|x64.ActiveCfg = Debug_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2016|x64.Build.0 = Debug_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017_static|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017_static|x64.ActiveCfg = Debug_static_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017_static|x64.Build.0 = Debug_static_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017|Win32.ActiveCfg = Debug_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017|x64.ActiveCfg = Debug_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Debug_Max2017|x64.Build.0 = Debug_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011_static|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|Win32.ActiveCfg = Release_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|Win32.Build.0 = Release_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|x64.ActiveCfg = Release_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2011|x64.Build.0 = Release_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012_static|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|Win32.ActiveCfg = Release_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|Win32.Build.0 = Release_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|x64.ActiveCfg = Release_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2012|x64.Build.0 = Release_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|Win32.Build.0 = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013_static|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|Win32.ActiveCfg = Release_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|Win32.Build.0 = Release_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|x64.ActiveCfg = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2013|x64.Build.0 = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_ProgDB|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5_static|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5|Win32.ActiveCfg = Release_ProgDB|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5|x64.ActiveCfg = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_SP5|x64.Build.0 = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_static|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_static|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014_static|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014|Win32.ActiveCfg = Release_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014|x64.ActiveCfg = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2014|x64.Build.0 = Release_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015_static|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015_static|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015_static|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015|Win32.ActiveCfg = Release_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015|x64.ActiveCfg = Release_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2015|x64.Build.0 = Release_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016_static|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016_static|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016_static|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016|Win32.ActiveCfg = Release_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016|x64.ActiveCfg = Release_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2016|x64.Build.0 = Release_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017_static|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017_static|x64.ActiveCfg = Release_static_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017_static|x64.Build.0 = Release_static_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017|Win32.ActiveCfg = Release_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017|x64.ActiveCfg = Release_v140|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.Release_Max2017|x64.Build.0 = Release_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011_static|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|Win32.ActiveCfg = Debug_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|Win32.Build.0 = Debug_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|x64.ActiveCfg = Debug_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2011|x64.Build.0 = Debug_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012_static|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|Win32.ActiveCfg = Debug_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|Win32.Build.0 = Debug_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|x64.ActiveCfg = Debug_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2012|x64.Build.0 = Debug_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|Win32.Build.0 = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013_static|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|Win32.ActiveCfg = Debug_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|Win32.Build.0 = Debug_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|x64.ActiveCfg = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2013|x64.Build.0 = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_lib_static|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_lib_static|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_SP5|x64.Build.0 = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_static|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014_static|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014|Win32.ActiveCfg = Debug_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014|x64.ActiveCfg = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2014|x64.Build.0 = Debug_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015_static|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015_static|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015|Win32.ActiveCfg = Debug_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015|x64.ActiveCfg = Debug_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2015|x64.Build.0 = Debug_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016_static|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016_static|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016|Win32.ActiveCfg = Debug_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016|x64.ActiveCfg = Debug_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2016|x64.Build.0 = Debug_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017_static|x64.ActiveCfg = Debug_lib_static_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017_static|x64.Build.0 = Debug_lib_static_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017|Win32.ActiveCfg = Debug_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017|x64.ActiveCfg = Debug_lib_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Debug_Max2017|x64.Build.0 = Debug_lib_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011_static|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|Win32.ActiveCfg = Release_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|Win32.Build.0 = Release_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|x64.ActiveCfg = Release_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2011|x64.Build.0 = Release_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012_static|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|Win32.ActiveCfg = Release_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|Win32.Build.0 = Release_lib_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|x64.ActiveCfg = Release_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2012|x64.Build.0 = Release_lib_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|Win32.Build.0 = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013_static|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|Win32.ActiveCfg = Release_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|Win32.Build.0 = Release_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|x64.ActiveCfg = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2013|x64.Build.0 = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_performanceTest|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5_static|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5|Win32.ActiveCfg = Release_performanceTest|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5|x64.ActiveCfg = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_SP5|x64.Build.0 = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_static|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014_static|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014|Win32.ActiveCfg = Release_lib_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014|x64.ActiveCfg = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2014|x64.Build.0 = Release_lib_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015_static|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015_static|x64.Build.0 = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015|Win32.ActiveCfg = Release_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015|x64.ActiveCfg = Release_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2015|x64.Build.0 = Release_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016_static|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016_static|x64.Build.0 = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016|Win32.ActiveCfg = Release_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016|x64.ActiveCfg = Release_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2016|x64.Build.0 = Release_lib_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017_static|x64.ActiveCfg = Release_lib_static_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017_static|x64.Build.0 = Release_lib_static_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017|Win32.ActiveCfg = Release_lib_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017|x64.ActiveCfg = Release_lib_v140|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.Release_Max2017|x64.Build.0 = Release_lib_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011_static|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|Win32.ActiveCfg = Debug_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|Win32.Build.0 = Debug_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|x64.ActiveCfg = Debug_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2011|x64.Build.0 = Debug_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012_static|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|Win32.ActiveCfg = Debug_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|Win32.Build.0 = Debug_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|x64.ActiveCfg = Debug_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2012|x64.Build.0 = Debug_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|Win32.Build.0 = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013_static|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|Win32.ActiveCfg = Debug_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|Win32.Build.0 = Debug_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|x64.ActiveCfg = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2013|x64.Build.0 = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5_static|Win32.ActiveCfg = Debug_lib_static|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5_static|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5|Win32.ActiveCfg = Debug_lib_static|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5|x64.ActiveCfg = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_SP5|x64.Build.0 = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_static|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_static|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014_static|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014|Win32.ActiveCfg = Debug_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014|x64.ActiveCfg = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2014|x64.Build.0 = Debug_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015_static|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015_static|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015|Win32.ActiveCfg = Debug_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015|x64.ActiveCfg = Debug_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2015|x64.Build.0 = Debug_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016_static|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016_static|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016|Win32.ActiveCfg = Debug_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016|x64.ActiveCfg = Debug_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2016|x64.Build.0 = Debug_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017_static|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017_static|x64.ActiveCfg = Debug_lib_static_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017_static|x64.Build.0 = Debug_lib_static_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017|Win32.ActiveCfg = Debug_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017|x64.ActiveCfg = Debug_lib_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Debug_Max2017|x64.Build.0 = Debug_lib_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011_static|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|Win32.ActiveCfg = Release_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|Win32.Build.0 = Release_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|x64.ActiveCfg = Release_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2011|x64.Build.0 = Release_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012_static|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|Win32.ActiveCfg = Release_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|Win32.Build.0 = Release_lib_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|x64.ActiveCfg = Release_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2012|x64.Build.0 = Release_lib_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|Win32.Build.0 = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013_static|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|Win32.ActiveCfg = Release_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|Win32.Build.0 = Release_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|x64.ActiveCfg = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2013|x64.Build.0 = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5_static|Win32.ActiveCfg = Release_performanceTest|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5_static|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5|Win32.ActiveCfg = Release_performanceTest|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5|x64.ActiveCfg = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_SP5|x64.Build.0 = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_static|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_static|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014_static|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014|Win32.ActiveCfg = Release_lib_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014|x64.ActiveCfg = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2014|x64.Build.0 = Release_lib_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015_static|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015_static|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015|Win32.ActiveCfg = Release_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015|x64.ActiveCfg = Release_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2015|x64.Build.0 = Release_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016_static|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016_static|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016|Win32.ActiveCfg = Release_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016|x64.ActiveCfg = Release_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2016|x64.Build.0 = Release_lib_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017_static|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017_static|x64.ActiveCfg = Release_lib_static_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017_static|x64.Build.0 = Release_lib_static_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017|Win32.ActiveCfg = Release_lib_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017|x64.ActiveCfg = Release_lib_v140|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.Release_Max2017|x64.Build.0 = Release_lib_v140|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/.gitignore opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/.gitignore --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/.gitignore 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/.gitignore 2016-07-13 19:25:45.000000000 +0000 @@ -1,6 +1,10 @@ -lib/ obj/ bin/ *.ncb *.suo *.user +UpgradeLog.htm +Backup/ +COLLADAMaxVersionInfo.h +ipch/ + diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxAnimationClipExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxAnimationClipExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxAnimationClipExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxAnimationClipExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,23 @@ + +#ifndef __COLLADAMAX_ANIMATIONCLIPEXPORTER_H__ +#define __COLLADAMAX_ANIMATIONCLIPEXPORTER_H__ + + +#include "COLLADASWLibraryAnimationClips.h" + +namespace COLLADAMax +{ + + class AnimationClipExporter : public COLLADASW::LibraryAnimationClips + { + public: + AnimationClipExporter(COLLADASW::StreamWriter* streamWriter); + + void open(); + void close(); + + void addClip(const COLLADASW::ColladaAnimationClip& clip); + }; +} + +#endif diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxAnimationExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxAnimationExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxAnimationExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxAnimationExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -27,6 +27,8 @@ #include "COLLADAMaxDocumentExporter.h" #include "COLLADAMaxConversionFunctor.h" +#include "COLLADAMaxAnimationClipExporter.h" + class Control; namespace COLLADAMax @@ -108,6 +110,7 @@ ConversionFunctor* mConversionFunctor; public: + /** @param controller the controller used for the animation @param id The id of the element to animate @@ -219,6 +222,8 @@ /** List of animations*/ typedef std::vector AnimationList; + typedef std::map AnimationMap; + /** Function pointer to a function that fills the float buffer @a keyValues with the @a keyIndex'th output value of @a animation. */ typedef void ( AnimationExporter::*OutputValueFunctionPtr ) ( float * keyValues, IKeyControl * keyInterface, const int & keyIndex, const Animation & animation ); @@ -259,6 +264,10 @@ /** List of all animations to export*/ AnimationList mAnimationList; + AnimationMap mAnimationMap; + + AnimationClipExporter mClipExporter; + /** Factor to multiply the key time with to get the real time.*/ static const float mTimeFactor; @@ -291,6 +300,11 @@ mAnimationList.push_back ( animation ); } + void addNamedAnimation(const Animation& animation, const String& name) { + AnimationList& list = mAnimationMap[name]; + list.push_back(animation); + } + /** Adds an animation that animates a float. @param controller The controller that contains the animation. @@ -323,7 +337,7 @@ exists until the animation has been exported. @return Returns true if the Point3 is animated, false otherwise. */ - bool addAnimatedPoint3 ( Control * controller, const String & id, const String & sid, const String parameters[], bool forceFullCheck = true, ConversionFunctor* conversionFunctor = 0); + bool addAnimatedPoint3(Control * controller, const String& layerName, const String & id, const String & sid, const String parameters[], bool forceFullCheck = true, ConversionFunctor* conversionFunctor = 0); /** Adds an animation that animates a Point4, i.e. a parameter that has 4 values, e.g. color @@ -334,7 +348,7 @@ exists until the animation has been exported. @return Returns true if the Point3 is animated, false otherwise. */ - bool addAnimatedPoint4 ( Control * controller, const String & id, const String & sid, const String parameters[], bool forceFullCheck = true, ConversionFunctor* conversionFunctor = 0); + bool addAnimatedPoint4(Control * controller, const String & id, const String & sid, const String parameters[], bool forceFullCheck = true, ConversionFunctor* conversionFunctor = 0); /** Adds an animation that animates an angle. @@ -347,7 +361,7 @@ @param forceFullCheck If true, a full check will be performed f the animations is not constant. @return Returns true if the angle is animated, false otherwise. */ - bool addAnimatedAngle ( Control * controller, const String & id, const String & sid, const String parameters[], int animatedAngle, bool forceFullCheck = true ); + bool addAnimatedAngle ( Control * controller, const String& layerName, const String & id, const String & sid, const String parameters[], int animatedAngle, bool forceFullCheck = true ); /** Adds an animation that animates an axis angle rotation diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxColladaPlugin.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxColladaPlugin.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxColladaPlugin.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxColladaPlugin.h 2016-07-13 19:25:45.000000000 +0000 @@ -21,8 +21,6 @@ static const TCHAR* PLUGIN_VERSION_TCHAR; static const String PLUGIN_VERSION_STRING; static const String REVISION_STRING; - static const String PLATFORM_STRING; - static const String CONFIGURATION_STRING; static const TCHAR* FATALERROR; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxDocumentExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxDocumentExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxDocumentExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxDocumentExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -92,6 +92,7 @@ /** The id of the @a \ element.*/ static const String SCENE_ID; + static const String PHYSIC_SCENE_ID; static const String AUTHORING_TOOL; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxOptions.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxOptions.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxOptions.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxOptions.h 2016-07-13 19:25:45.000000000 +0000 @@ -63,6 +63,7 @@ bool mAnimations; //!< export animations; bool mSampleAnimation; //!< export sampled animation bool mCreateClip; //!< create one animation clip with all the animations of the scene + bool mLayersAsClips; //!< export each animation layer as a unique animation, and create a clip for each layer bool mBakeMatrices; //!< export transforms as matrices bool mRelativePaths; //!< export relative paths bool mCopyImages; //!< copy images @@ -113,6 +114,9 @@ /** Returns, if an animation clip is exported.*/ bool getExportAnimClip() const { return mCreateClip; } + /** Returns, if animation layers should be exported as animations clips.*/ + bool getExportLayersAsClips() const { return mLayersAsClips; } + /** Returns, if the transformations are exported as matrices.*/ bool getBakeMatrices() const { return mBakeMatrices; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxPrerequisites.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxPrerequisites.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxPrerequisites.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxPrerequisites.h 2016-07-13 19:25:45.000000000 +0000 @@ -1,124 +1,155 @@ -/* - Copyright (c) 2008-2009 NetAllied Systems GmbH - - This file is part of COLLADAMax. - - Portions of the code are: - Copyright (c) 2005-2007 Feeling Software Inc. - Copyright (c) 2005-2007 Sony Computer Entertainment America - - Based on the 3dsMax COLLADASW Tools: - Copyright (c) 2005-2006 Autodesk Media Entertainment - - Licensed under the MIT Open Source License, - for details please see LICENSE file or the website - http://www.opensource.org/licenses/mit-license.php -*/ - - -#ifndef __COLLADAMAX_PREREQUISITES_H__ -#define __COLLADAMAX_PREREQUISITES_H__ - -#define UNUSED(a) /**< Removes a piece of code during the pre-process. This macro is useful for these pesky unused variable warnings. */ - -#include "maxversion.h" - - -#if ( MAX_VERSION_MAJOR >= 7 ) -# define MAX_7_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 7 ) -# define MAX_7 -#endif - -#if ( MAX_VERSION_MAJOR >= 8 ) -# define MAX_8_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 8 ) -# define MAX_8 -#endif - -#if ( MAX_VERSION_MAJOR >= 9 ) -# define MAX_9_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 9 ) -# define MAX_9 -#endif - -#if ( MAX_VERSION_MAJOR >= 10 ) -# define MAX_2008_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 10 ) -# define MAX_2008 -#endif - -#if ( MAX_VERSION_MAJOR >= 11 ) -# define MAX_2009_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 11 ) -# define MAX_2009 -#endif - -#if ( MAX_VERSION_MAJOR >= 12 ) -# define MAX_2010_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 12 ) -# define MAX_2010 -#endif - -#if ( MAX_VERSION_MAJOR >= 13 ) -# define MAX_2011_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 13 ) -# define MAX_2011 -#endif - -#if ( MAX_VERSION_MAJOR >= 14 ) -# define MAX_2012_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 14 ) -# define MAX_2012 -#endif - -#if ( MAX_VERSION_MAJOR >= 15 ) -# define MAX_2013_OR_NEWER -#endif -#if ( MAX_VERSION_MAJOR == 15 ) -# define MAX_2013 -#endif - - -// Max 2009 requires RTTI to be enabled -#ifdef MAX_2009_OR_NEWER -#ifndef _CPPRTTI -#error "Max 2009 or newer requires RTTI to be enabled. Please enable and try again..." -#endif -#endif - - -#define TIME_INITIAL_POSE 0 -//#define TIME_EXPORT_START 0//OPTS->AnimStart() - - -#include -#include "COLLADABUURI.h" -#include "COLLADABUStringUtils.h" -#include "COLLADABUNativeString.h" -#include "Math/COLLADABUMathUtils.h" - - -namespace COLLADAMax -{ - typedef COLLADABU::URI URI; - typedef COLLADABU::Utils Utils; - typedef COLLADABU::StringUtils StringUtils; - typedef COLLADABU::NativeString NativeString; - typedef COLLADABU::Math::Utils MathUtils; - - typedef std::string String; - typedef std::wstring WideString; -} - - - -#endif //__COLLADAMAX_PREREQUISITES_H__ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMax. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + + Based on the 3dsMax COLLADASW Tools: + Copyright (c) 2005-2006 Autodesk Media Entertainment + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + + +#ifndef __COLLADAMAX_PREREQUISITES_H__ +#define __COLLADAMAX_PREREQUISITES_H__ + +#define UNUSED(a) /**< Removes a piece of code during the pre-process. This macro is useful for these pesky unused variable warnings. */ + +#include "maxversion.h" + + +#if ( MAX_VERSION_MAJOR >= 7 ) +# define MAX_7_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 7 ) +# define MAX_7 +#endif + +#if ( MAX_VERSION_MAJOR >= 8 ) +# define MAX_8_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 8 ) +# define MAX_8 +#endif + +#if ( MAX_VERSION_MAJOR >= 9 ) +# define MAX_9_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 9 ) +# define MAX_9 +#endif + +#if ( MAX_VERSION_MAJOR >= 10 ) +# define MAX_2008_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 10 ) +# define MAX_2008 +#endif + +#if ( MAX_VERSION_MAJOR >= 11 ) +# define MAX_2009_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 11 ) +# define MAX_2009 +#endif + +#if ( MAX_VERSION_MAJOR >= 12 ) +# define MAX_2010_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 12 ) +# define MAX_2010 +#endif + +#if ( MAX_VERSION_MAJOR >= 13 ) +# define MAX_2011_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 13 ) +# define MAX_2011 +#endif + +#if ( MAX_VERSION_MAJOR >= 14 ) +# define MAX_2012_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 14 ) +# define MAX_2012 +#endif + +#if ( MAX_VERSION_MAJOR >= 15 ) +# define MAX_2013_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 15 ) +# define MAX_2013 +#endif + +#if ( MAX_VERSION_MAJOR >= 16 ) +# define MAX_2014_OR_NEWER +#if ((MAX_2014_SP5 && MAX_VERSION_MAJOR == 16) || MAX_VERSION_MAJOR > 16) + # define MAX_2014_SP5_OR_NEWER + #endif +#endif + +#if ( MAX_VERSION_MAJOR == 16 ) +# define MAX_2014 +#endif + +#if ( MAX_VERSION_MAJOR >= 17 ) +# define MAX_2015_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 17 ) +# define MAX_2015 +#endif + +#if ( MAX_VERSION_MAJOR >= 18 ) +# define MAX_2016_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 18 ) +# define MAX_2016 +#endif + +#if ( MAX_VERSION_MAJOR >= 19 ) +# define MAX_2017_OR_NEWER +#endif +#if ( MAX_VERSION_MAJOR == 19 ) +# define MAX_2017 +#endif + +// Max 2009 requires RTTI to be enabled +#ifdef MAX_2009_OR_NEWER +#ifndef _CPPRTTI +#error "Max 2009 or newer requires RTTI to be enabled. Please enable and try again..." +#endif +#endif + + +#define TIME_INITIAL_POSE 0 +//#define TIME_EXPORT_START 0//OPTS->AnimStart() + + +#include +#include "COLLADABUURI.h" +#include "COLLADABUStringUtils.h" +#include "COLLADABUNativeString.h" +#include "Math/COLLADABUMathUtils.h" + + +namespace COLLADAMax +{ + typedef COLLADABU::URI URI; + typedef COLLADABU::Utils Utils; + typedef COLLADABU::StringUtils StringUtils; + typedef COLLADABU::NativeString NativeString; + typedef COLLADABU::Math::Utils MathUtils; + + typedef std::string String; + typedef std::wstring WideString; +} + + + +#endif //__COLLADAMAX_PREREQUISITES_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxStableHeaders.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxStableHeaders.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/COLLADAMaxStableHeaders.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/COLLADAMaxStableHeaders.h 2016-07-13 19:25:45.000000000 +0000 @@ -1,82 +1,90 @@ -/* - Copyright (c) 2008-2009 NetAllied Systems GmbH - - This file is part of COLLADAMax. - - Portions of the code are: - Copyright (c) 2005-2007 Feeling Software Inc. - Copyright (c) 2005-2007 Sony Computer Entertainment America - - Based on the 3dsMax COLLADASW Tools: - Copyright (c) 2005-2006 Autodesk Media Entertainment - - Licensed under the MIT Open Source License, - for details please see LICENSE file or the website - http://www.opensource.org/licenses/mit-license.php -*/ - - -#ifndef __COLLADAMAX_STABLE_HEADERS_H__ -#define __COLLADAMAX_STABLE_HEADERS_H__ - - -#include "COLLADAMaxPrerequisites.h" - -#ifdef MAX_7 -# pragma message ("Compling for Max7") -#elif defined MAX_8 -# pragma message ("Compling for Max8") -#elif defined MAX_9 -# pragma message ("Compling for Max9") -#elif defined MAX_2008 -# pragma message ("Compling for Max2008") -#elif defined MAX_2009 -# pragma message ("Compling for Max2009") -#elif defined MAX_2010 -# pragma message ("Compling for Max2010") -#elif defined MAX_2011 -# pragma message ("Compiling for Max2011") -#elif defined MAX_2012 -# pragma message ("Compiling for Max2012") -#elif defined MAX_2013 -# pragma message ("Compiling for Max2013") -#else -# error( "Unsupported Max version" ) -#endif - -#include -#include -#include // for IparamBlock2 -#include // for IparamBlock2 -#include //for bitmap info -#include -#include -#include // for IDerivedObject -#include // for BipIface -#include -#include // for standard material -#include // for shaders -#include // for decomposition of transformations -#include //for SimpleObject2 -#include // for UVGen -#include //for dialog - -#include // for IDxMaterial - -#include "MorphR3.h" //for morph controller MorphR3 - -#include //for shapes - - -#include "COLLADAMaxXRefIncludes.h" - - -//STL -#include -#include -#include -#include -#include - - -#endif //__COLLADAMAX_STABLE_HEADERS_H__ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMax. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + + Based on the 3dsMax COLLADASW Tools: + Copyright (c) 2005-2006 Autodesk Media Entertainment + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + + +#ifndef __COLLADAMAX_STABLE_HEADERS_H__ +#define __COLLADAMAX_STABLE_HEADERS_H__ + + +#include "COLLADAMaxPrerequisites.h" + +#ifdef MAX_7 +# pragma message ("Compling for Max7") +#elif defined MAX_8 +# pragma message ("Compling for Max8") +#elif defined MAX_9 +# pragma message ("Compling for Max9") +#elif defined MAX_2008 +# pragma message ("Compling for Max2008") +#elif defined MAX_2009 +# pragma message ("Compling for Max2009") +#elif defined MAX_2010 +# pragma message ("Compling for Max2010") +#elif defined MAX_2011 +# pragma message ("Compiling for Max2011") +#elif defined MAX_2012 +# pragma message ("Compiling for Max2012") +#elif defined MAX_2013 +# pragma message ("Compiling for Max2013") +#elif defined MAX_2014 +# pragma message ("Compiling for Max2014") +#elif defined MAX_2015 +# pragma message ("Compiling for Max2015") +#elif defined MAX_2016 +# pragma message ("Compiling for Max2016") +#elif defined MAX_2017 +# pragma message ("Compiling for Max2017") +#else +# error( "Unsupported Max version" ) +#endif + +#include +#include +#include // for IparamBlock2 +#include // for IparamBlock2 +#include //for bitmap info +#include +#include +#include // for IDerivedObject +#include // for BipIface +#include +#include // for standard material +#include // for shaders +#include // for decomposition of transformations +#include //for SimpleObject2 +#include // for UVGen +#include //for dialog + +#include // for IDxMaterial + +#include "MorphR3.h" //for morph controller MorphR3 + +#include //for shapes + + +#include "COLLADAMaxXRefIncludes.h" + + +//STL +#include +#include +#include +#include +#include + + +#endif //__COLLADAMAX_STABLE_HEADERS_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/MorphR3.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/MorphR3.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/include/MorphR3.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/include/MorphR3.h 2016-07-13 19:25:45.000000000 +0000 @@ -101,7 +101,11 @@ DLLImport void AllocBuffers(int sizeA, int sizeB); // Initialize a channel using a scene node +#ifdef MAX_2014_SP5_OR_NEWER + DLLImport void buildFromNode(INode *node, BOOL resetTime = TRUE, TimeValue t = 0, BOOL picked = FALSE, BOOL inModify = FALSE); +#else DLLImport void buildFromNode(INode *node , BOOL resetTime=TRUE , TimeValue t=0, BOOL picked = FALSE); +#endif }; class morphCache diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/INSTALL opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/INSTALL --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/INSTALL 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/INSTALL 2016-07-13 19:25:45.000000000 +0000 @@ -1,28 +1,44 @@ Requirements: ------------- -To run the COLLADAMax plugin you need a version of 3ds Max installed that matches the version -your plugin has been build against. -Supported versions are: -3ds Max 8 (32bit) -3ds Max 9 (32bit/64bit) -3ds Max 2008 (32bit/64bit) -3ds Max 2009 (32bit/64bit) -3ds Max 2010 (32bit/64bit) +To run the COLLADAMax plugin you need a version of 3ds Max installed that +matches the version your plugin has been build against. -To run the binary you have to install the Microsoft Visual C++ 2005 -Redistributable Package (x86). You can download and install it from: -http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en +Supported versions are: +3ds Max 2011 (32bit/64bit) +3ds Max 2012 (32bit/64bit) +3ds Max 2013 (32bit/64bit) +3ds Max 2014 (64bit) +3ds Max 2015 (64bit) +3ds Max 2016 (64bit) +3ds Max 2017 (64bit) Install: --------- -If you build the plugin yourself using the provided build scripts the plugin file (ColladaMaxNew.dle) -is automatically copied into your "plugins" directory of your 3ds Max installation. -If you use the precompiled version of the plugin you have to copy it in your "plugins" -directory of your 3ds Max installation. +Copy the plugin (ColladaMaxNew.dle) in the "plugins" directory of the 3dsMax +installation folder. + +If you compile the plugin yourself, you'll find it inside: +OpenCOLLADA\COLLADAMax\bin\win\[Win32 or X64]\.. folder + +For example, if you have Max 2014 installed at "E:\Program Files\Autodesk\3ds Max 2014\3dsmax.exe" then copy ColladaMaxNew.dle in the "E:\Program Files\Autodesk\3ds Max 2014\plugins\" folder. Note this path is for a 64bit version. 32 bits applications are in "Program Files (x86)" folder. -After the next start of 3ds Max the plugin is available and can be found as "COLLADA NextGen" in the -export dialog. +After the next start of 3ds Max the plugin is available and can be found as +"COLLADA NextGen" in the export dialog. + +Archives: +--------- + +The following versions used to be supported by the plug-in. +But those are no longer maintained/tested. However, nothing as been removed +from the code and project files so far. + +3ds Max 7 (32bit) +3ds Max 8 (32bit) +3ds Max 9 (32bit/64bit) +3ds Max 2008 (32bit/64bit) +3ds Max 2009 (32bit/64bit) +3ds Max 2010 (32bit/64bit) Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2011_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2011_x64.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2011_x86.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2011_x86.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2012_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2012_x64.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2012_x86.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2012_x86.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2013_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2013_x64.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2013_x86.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2013_x86.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2014_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2014_x64.lib differ Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_2015_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_2015_x64.lib differ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x64.def opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x64.def --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x64.def 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x64.def 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -; create from existing DLM file (taken from the 64bit max installation) via -; dumpbin /exports Morpher.dlm -; lib /def:Morpher_x64.def /machine:x64 /out:morpher_x64.lib - -LIBRARY Morpher.dlm -EXPORTS - ??4morphChannel@@QEAAXAEBV0@@Z - ?AddProgessiveMorph@IMorphClass@@QEAAHPEAVMorphR3@@HPEAVINode@@@Z - ?AllocBuffers@morphChannel@@QEAAXHH@Z - ?AreWeCached@morphCache@@QEAAHXZ - ?ChannelOp@MorphR3@@QEAAXHHH@Z - ?Clamp_chanNum@MorphR3@@QEAAXXZ - ?Clamp_listSel@M3MatDlg@@QEAAXXZ - ?DeleteProgessiveMorph@IMorphClass@@QEAAHPEAVMorphR3@@HH@Z - ?EnterMode@GetMorphMod@@UEAAXXZ - ?EnterMode@GetMorphNode@@UEAAXPEAVIObjParam@@@Z - ?ExitMode@GetMorphMod@@UEAAXXZ - ?ExitMode@GetMorphNode@@UEAAXPEAVIObjParam@@@Z - ?Filter@GetMorphMod@@UEAAHPEAVINode@@@Z - ?Filter@GetMorphNode@@UEAAHPEAVINode@@@Z - ?GetFilter@GetMorphNode@@UEAAPEAVPickNodeCallback@@XZ - ?GetIncrements@MorphR3@@QEAAMXZ - ?HitTest@GetMorphNode@@UEAAHPEAVIObjParam@@PEAUHWND__@@PEAVViewExp@@VIPoint2@@H@Z - ?HoldChannel@IMorphClass@@QEAAXPEAVMorphR3@@H@Z - ?HoldMarkers@IMorphClass@@QEAAXPEAVMorphR3@@@Z - ?Load@morphChannel@@QEAA?AW4IOResult@@PEAVILoad@@@Z - ?MakeCache@morphCache@@QEAAXPEAVObject@@@Z - ?NukeCache@morphCache@@QEAAXXZ - ?Pick@GetMorphMod@@UEAAHPEAVINode@@@Z - ?Pick@GetMorphNode@@UEAAHPEAVIObjParam@@PEAVViewExp@@@Z - ?ResetMe@morphChannel@@QEAAXXZ - ?RightClick@GetMorphNode@@UEAAHPEAVIObjParam@@PEAVViewExp@@@Z - ?Save@morphChannel@@QEAA?AW4IOResult@@PEAVISave@@@Z - ?SetTension@IMorphClass@@QEAAXPEAVMorphR3@@HM@Z - ?SortProgressiveTarget@IMorphClass@@QEAAXPEAVMorphR3@@HH@Z - ?SwapMorphs@IMorphClass@@QEAAXPEAVMorphR3@@HHH@Z - ?SwapPTargets@IMorphClass@@QEAAXPEAVMorphR3@@HHH_N@Z - ?TrimDown@MorphR3@@QEAAMMH@Z - ?UpdateMorphInfo@M3MatDlg@@QEAAXH@Z - ?Update_SpinnerIncrements@MorphR3@@QEAAXXZ - ?Update_channelFULL@MorphR3@@QEAAXXZ - ?Update_channelInfo@MorphR3@@QEAAXXZ - ?Update_channelLimits@MorphR3@@QEAAXXZ - ?Update_channelMarkers@MorphR3@@QEAAXXZ - ?Update_channelNames@MorphR3@@QEAAXXZ - ?Update_channelParams@MorphR3@@QEAAXXZ - ?Update_channelValues@MorphR3@@QEAAXXZ - ?Update_colorIndicators@MorphR3@@QEAAXXZ - ?VScroll@M3MatDlg@@QEAAXHF@Z - ?VScroll@MorphR3@@QEAAXHF@Z - ?buildFromNode@morphChannel@@QEAAXPEAVINode@@HHH@Z - ?getMemSize@morphChannel@@QEAAMXZ - ?rebuildChannel@morphChannel@@QEAAXXZ - CanAutoDefer - LibClassDesc - LibDescription - LibNumberClasses - LibVersion Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x64.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x64.lib differ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x86.def opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x86.def --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x86.def 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x86.def 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -; create from existing DLM file (taken from the 64bit max installation) via -; dumpbin /exports Morpher.dlm -; lib /def:Morpher_x86.def /machine:x86 /out:morpher_x86.lib - -LIBRARY Morpher.dlm -EXPORTS - ??4morphChannel@@QAEXABV0@@Z - ?AddProgessiveMorph@IMorphClass@@QAEHPAVMorphR3@@HPAVINode@@@Z - ?AllocBuffers@morphChannel@@QAEXHH@Z - ?AreWeCached@morphCache@@QAEHXZ - ?ChannelOp@MorphR3@@QAEXHHH@Z - ?Clamp_chanNum@MorphR3@@QAEXXZ - ?Clamp_listSel@M3MatDlg@@QAEXXZ - ?DeleteProgessiveMorph@IMorphClass@@QAEHPAVMorphR3@@HH@Z - ?EnterMode@GetMorphMod@@UAEXXZ - ?EnterMode@GetMorphNode@@UAEXPAVIObjParam@@@Z - ?ExitMode@GetMorphMod@@UAEXXZ - ?ExitMode@GetMorphNode@@UAEXPAVIObjParam@@@Z - ?Filter@GetMorphMod@@UAEHPAVINode@@@Z - ?Filter@GetMorphNode@@UAEHPAVINode@@@Z - ?GetFilter@GetMorphNode@@UAEPAVPickNodeCallback@@XZ - ?GetIncrements@MorphR3@@QAEMXZ - ?HitTest@GetMorphNode@@UAEHPAVIObjParam@@PAUHWND__@@PAVViewExp@@VIPoint2@@H@Z - ?HoldChannel@IMorphClass@@QAEXPAVMorphR3@@H@Z - ?HoldMarkers@IMorphClass@@QAEXPAVMorphR3@@@Z - ?Load@morphChannel@@QAE?AW4IOResult@@PAVILoad@@@Z - ?MakeCache@morphCache@@QAEXPAVObject@@@Z - ?NukeCache@morphCache@@QAEXXZ - ?Pick@GetMorphMod@@UAEHPAVINode@@@Z - ?Pick@GetMorphNode@@UAEHPAVIObjParam@@PAVViewExp@@@Z - ?ResetMe@morphChannel@@QAEXXZ - ?RightClick@GetMorphNode@@UAEHPAVIObjParam@@PAVViewExp@@@Z - ?Save@morphChannel@@QAE?AW4IOResult@@PAVISave@@@Z - ?SetTension@IMorphClass@@QAEXPAVMorphR3@@HM@Z - ?SortProgressiveTarget@IMorphClass@@QAEXPAVMorphR3@@HH@Z - ?SwapMorphs@IMorphClass@@QAEXPAVMorphR3@@HHH@Z - ?SwapPTargets@IMorphClass@@QAEXPAVMorphR3@@HHH_N@Z - ?TrimDown@MorphR3@@QAEMMH@Z - ?UpdateMorphInfo@M3MatDlg@@QAEXH@Z - ?Update_SpinnerIncrements@MorphR3@@QAEXXZ - ?Update_channelFULL@MorphR3@@QAEXXZ - ?Update_channelInfo@MorphR3@@QAEXXZ - ?Update_channelLimits@MorphR3@@QAEXXZ - ?Update_channelMarkers@MorphR3@@QAEXXZ - ?Update_channelNames@MorphR3@@QAEXXZ - ?Update_channelParams@MorphR3@@QAEXXZ - ?Update_channelValues@MorphR3@@QAEXXZ - ?Update_colorIndicators@MorphR3@@QAEXXZ - ?VScroll@M3MatDlg@@QAEXHF@Z - ?VScroll@MorphR3@@QAEXHF@Z - ?buildFromNode@morphChannel@@QAEXPAVINode@@HHH@Z - ?getMemSize@morphChannel@@QAEMXZ - ?rebuildChannel@morphChannel@@QAEXXZ - CanAutoDefer - LibClassDesc - LibDescription - LibNumberClasses - LibVersion Binary files /tmp/tmpd98OPt/D7xkNQ4Gb2/opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/morpher_x86.lib and /tmp/tmpd98OPt/Lic_NxdBGp/opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/morpher_x86.lib differ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/readme.txt opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/readme.txt --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/lib/readme.txt 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/lib/readme.txt 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,9 @@ +the libraries in this folder are manually built from the max sdk sample folder: +open the solution in maxsdk\samples with the proper Visual Studio + see http://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2015/ENU/Max-SDK/files/GUID-6E179A56-5552-4D0B-BA61-BBD37B9E52DB-htm.html + +Then build modifiers\morpher\morpher Release and copy the .lib into this folder with the corresponding name. +for example: +maxsdk\samples\modifiers\morpher\x64\Release --> morpher_2011_x64.lib + + diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/res/ColladaMax.rc opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/res/ColladaMax.rc --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/res/ColladaMax.rc 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/res/ColladaMax.rc 2016-07-13 19:25:45.000000000 +0000 @@ -42,7 +42,7 @@ GROUPBOX "Animation",IDC_STATIC,7,89,259,40 CONTROL "Triangulate",IDC_GEOM_TRIANGLES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,85,58,69,10 CONTROL "Sample animation",IDC_ANIM_SAMPLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,112,71,10 - CONTROL "Create clip",IDC_ANIM_CLIP,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,85,101,49,10 + CONTROL "Create clip",IDC_ANIM_CLIP,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,177,98,49,10 GROUPBOX "Standard Options",IDC_STATIC,7,5,259,38 CONTROL "Bake Matrices",IDC_BAKE_MATRICES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,18,61,10 CONTROL "Relative Paths",IDC_RELATIVE_PATHS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,84,18,62,10 @@ -52,6 +52,7 @@ CONTROL "Copy Images",IDC_COPY_IMAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,18,57,10 CONTROL "Export user defined properties",IDC_EXPORT_USER_PROPERTIES, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,30,109,10 + CONTROL "Export layers as clips",IDC_LAYERS_TO_CLIPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,86,101,81,10 END IDD_XREF_REUSE DIALOGEX 0, 0, 485, 84 @@ -187,6 +188,10 @@ BOTTOMMARGIN, 77 END + IDD_COLLADASW_EFFECT_ERROR, DIALOG + BEGIN + END + IDD_IMPORT_OPTIONS, DIALOG BEGIN RIGHTMARGIN, 199 diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/res/resource.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/res/resource.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/res/resource.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/res/resource.h 2016-07-13 19:25:45.000000000 +0000 @@ -85,12 +85,13 @@ #define IDC_COPYI_MAGES 1061 #define IDC_COPY_IMAGES 1061 #define IDC_EXPORT_USER_PROPERTIES 1062 +#define IDC_CHECK1 1063 +#define IDC_LAYERS_TO_CLIPS 1063 #define IDC_EDIT_FENTRY 1065 #define IDC_ANIM_START 1161 #define IDC_ANIM_START_SPIN 1162 #define IDC_ANIM_END 1163 #define IDC_ANIM_END_SPIN 1164 - #define IDC_STATIC -1 // Next default values for new objects @@ -99,7 +100,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 115 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1063 +#define _APS_NEXT_CONTROL_VALUE 1064 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcproj 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,9695 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,4143 @@ + + + + + Debug_Max2011_static + Win32 + + + Debug_Max2011_static + x64 + + + Debug_Max2011 + Win32 + + + Debug_Max2011 + x64 + + + Debug_Max2012_static + Win32 + + + Debug_Max2012_static + x64 + + + Debug_Max2012 + Win32 + + + Debug_Max2012 + x64 + + + Debug_Max2013_static + Win32 + + + Debug_Max2013_static + x64 + + + Debug_Max2013 + Win32 + + + Debug_Max2013 + x64 + + + Debug_Max2014_SP5_static + Win32 + + + Debug_Max2014_SP5_static + x64 + + + Debug_Max2014_SP5 + Win32 + + + Debug_Max2014_SP5 + x64 + + + Debug_Max2014_static + Win32 + + + Debug_Max2014_static + x64 + + + Debug_Max2014 + Win32 + + + Debug_Max2014 + x64 + + + Debug_Max2015_static + Win32 + + + Debug_Max2015_static + x64 + + + Debug_Max2015 + Win32 + + + Debug_Max2015 + x64 + + + Debug_Max2016_static + Win32 + + + Debug_Max2016_static + x64 + + + Debug_Max2016 + Win32 + + + Debug_Max2016 + x64 + + + Debug_Max2017_static + Win32 + + + Debug_Max2017_static + x64 + + + Debug_Max2017 + Win32 + + + Debug_Max2017 + x64 + + + Release_Max2011_static + Win32 + + + Release_Max2011_static + x64 + + + Release_Max2011 + Win32 + + + Release_Max2011 + x64 + + + Release_Max2012_static + Win32 + + + Release_Max2012_static + x64 + + + Release_Max2012 + Win32 + + + Release_Max2012 + x64 + + + Release_Max2013_static + Win32 + + + Release_Max2013_static + x64 + + + Release_Max2013 + Win32 + + + Release_Max2013 + x64 + + + Release_Max2014_SP5_static + Win32 + + + Release_Max2014_SP5_static + x64 + + + Release_Max2014_SP5 + Win32 + + + Release_Max2014_SP5 + x64 + + + Release_Max2014_static + Win32 + + + Release_Max2014_static + x64 + + + Release_Max2014 + Win32 + + + Release_Max2014 + x64 + + + Release_Max2015_static + Win32 + + + Release_Max2015_static + x64 + + + Release_Max2015 + Win32 + + + Release_Max2015 + x64 + + + Release_Max2016_static + Win32 + + + Release_Max2016_static + x64 + + + Release_Max2016 + Win32 + + + Release_Max2016 + x64 + + + Release_Max2017_static + Win32 + + + Release_Max2017_static + x64 + + + Release_Max2017 + Win32 + + + Release_Max2017 + x64 + + + + {8840B0EA-A0B3-45D6-855D-8382B247CE8B} + COLLADAMax + Win32Proj + 8.1 + + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v140 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v100 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v140 + Unicode + true + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v140 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v140 + Unicode + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + true + + + DynamicLibrary + v90 + MultiByte + + + DynamicLibrary + v90 + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>12.0.30501.0 + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + false + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + + + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2011)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2011_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2011)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2011%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/lib;..\lib + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/x64/lib;..\lib + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2012_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x32_2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/x64/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/lib;$(BOOST_LIB_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2012)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2012_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2012)/x64/lib;$(BOOST_LIB64_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2012_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)/lib;$(BOOST_LIB_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)/x64/lib;$(BOOST_LIB64_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)/include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2014%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)/include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;MAX_2014_SP5;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2014%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2015%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2016%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2016%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)/lib;$(BOOST_LIB_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + EditAndContinue + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)/lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)/x64/lib;$(BOOST_LIB64_PATH);..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2014_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;MAX_2014_SP5;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2014_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2015_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2016_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + Disabled + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;_DEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebug + true + Use + ColladaMaxStableHeaders.h + Level3 + ProgramDatabase + Default + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + true + Windows + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2016_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)\x64\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2014%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;MAX_2014_SP5;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2014%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2015%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2016%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25ADSK_3DSMAX_x64_2012%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\Lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\Lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x86.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\Lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX86 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2013)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2013_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2013)\x64\lib;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2013_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2014_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2014_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2014)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;MAX_2014_SP5;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2014)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2014_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2015)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2015)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2015_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2016)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2016)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2016_X64%25\plugins\ColladaMaxNew.dle" + + + + + call create_version_info_h.bat $(PLATFORM) $(CONFIGURATION) + + + X64 + + + MaxSpeed + Neither + ..\include;..\res;$(MAX_SDK_PATH2017)\include;..\..\COLLADAFramework\include;..\..\COLLADAFramework\include\Math;..\..\COLLADADomHelper\include;..\..\COLLADAStreamWriter\include;..\..\COLLADABaseUtils\include;..\..\GeneratedSaxParser\include;..\..\COLLADASaxFrameworkLoader\include;..\..\G3DWarehouseBrowser\include;$(BOOST_ROOT) + WIN32;NDEBUG;_WINDOWS;_USRDLL;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;%(PreprocessorDefinitions) + Default + MultiThreaded + false + true + Use + ColladaMaxStableHeaders.h + Level3 + + + + + maxutil.lib;core.lib;paramblk2.lib;geom.lib;bmm.lib;mesh.lib;mnmath.lib;poly.lib;gup.lib;menus.lib;morpher_2015_x64.lib;comctl32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName)New.dle + 1.3 + $(MAX_SDK_PATH2017)\lib\x64\Release;..\lib;%(AdditionalLibraryDirectories) + ;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + false + + + MachineX64 + + + copy "$(OutDir)COLLADAMaxNew.dle" "%25MAX_PATH2016_X64%25\plugins\ColladaMaxNew.dle" + + + + + + + + + + + + + + + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + $(IntDir)%(Filename)1.xdc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {2c3c4869-d684-4981-98e7-6d9798b72145} + false + + + {9f164b41-40e0-4efa-a7c7-a89c12b4fb39} + false + + + {8628a8f8-bd50-4463-9ee7-f9118cba194a} + false + + + {eab66f01-60b5-43c9-b78d-a8b0b545a20b} + false + + + {f1defc38-6aa9-4799-983b-96610117caf7} + false + + + {71a48a24-8603-49fb-9458-cb4e97309378} + false + + + {e0ba2017-9ec0-496c-ba5c-fb19c44a7af0} + false + + + {cb440073-2ed3-48ce-a1a1-b6eacb3a44bd} + false + + + {81f6ba2e-bb3a-4d67-ac12-a112946eb832} + false + + + {0b6c3fea-0065-44d2-a69a-28f810a4f2af} + false + + + + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj.filters opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj.filters --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/COLLADAMax.vcxproj.filters 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,417 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {44fd66f7-c998-4a1e-93dc-941315aef197} + + + {7620692d-4b93-4247-adce-40b3367d679a} + + + {7d3da91d-dec5-49a1-bd97-8064be9feb58} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {38ce0f68-82f2-46ae-b9d3-888c97fd60fb} + + + {4aa6f6e9-8736-4528-8c3f-7376113235fa} + + + {e1082203-3eb1-4838-9a2b-090d8eccc71d} + + + {bf5fc9de-1612-4b06-bb21-6e86d1b2e47f} + + + {a067125e-1cf6-4828-91bc-e92676857670} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\exporter + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\importer + + + Source Files\warehouse + + + Source Files\warehouse + + + Source Files\exporter + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\exporter + + + Header Files\external + + + Header Files\external + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\importer + + + Header Files\warehouse + + + Header Files\warehouse + + + Resource Files + + + Header Files\exporter + + + + + Resource Files + + + + + Resource Files + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/create_version_info_h.bat opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/create_version_info_h.bat --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/scripts/create_version_info_h.bat 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/scripts/create_version_info_h.bat 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,49 @@ +echo off +rem called from visual studio with platform and configuration as parameters + +set HEADER="..\include\COLLADAMaxVersionInfo.h" + +set F=".COLLADAMaxVersionInfo.h" + +echo #ifndef __COLLADAMAX_VERSIONINFO_H__ > %F% +echo #define __COLLADAMAX_VERSIONINFO_H__ >> %F% + +echo. >> %F% + +echo #include "COLLADAMaxPrerequisites.h" >> %F% + +echo. >> %F% + +echo namespace COLLADAMax >> %F% + +echo { >> %F% + + +FOR /f %%A in ('git describe --always') do set REVISION=%%A + + +echo const String CURRENT_REVISION = "%REVISION%"; >> %F% +echo const String CURRENT_PLATFORM = "%1"; >> %F% +echo const String CURRENT_CONFIGURATION = "%2"; >> %F% + +echo } >> %F% + +echo. >> %F% + +echo #endif // __COLLADAMAX_VERSIONINFO_H__ >> %F% + + +if exist %HEADER% ( +fc %HEADER% %F% > nul +if NOT ERRORLEVEL 1 EXIT /B 0 +) + + +echo Generating %HEADER% + +copy %F% %HEADER% + +del %F% + + + diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxAnimationClipExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxAnimationClipExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxAnimationClipExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxAnimationClipExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,23 @@ +#include "COLLADAMaxStableHeaders.h" + +#include "COLLADAMaxAnimationClipExporter.h" + +namespace COLLADAMax +{ + + AnimationClipExporter::AnimationClipExporter(COLLADASW::StreamWriter* streamWriter) : + LibraryAnimationClips(streamWriter) + {} + + void AnimationClipExporter::open() { + openLibrary(); + } + void AnimationClipExporter::close() { + closeLibrary(); + } + + void AnimationClipExporter::addClip(const COLLADASW::ColladaAnimationClip& clip) { + addAnimationClip(clip); + } + +} diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxAnimationExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxAnimationExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxAnimationExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxAnimationExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -157,7 +157,8 @@ //--------------------------------------------------------------- AnimationExporter::AnimationExporter ( COLLADASW::StreamWriter * streamWriter, DocumentExporter * documentExporter ) : COLLADASW::LibraryAnimations ( streamWriter ), - mDocumentExporter ( documentExporter ) + mDocumentExporter ( documentExporter ), + mClipExporter( streamWriter) {} //--------------------------------------------------------------- @@ -222,21 +223,56 @@ //--------------------------------------------------------------- void AnimationExporter::doExport() { - if ( !mAnimationList.empty() ) - { - openAnimation(); + if (!mAnimationList.empty() || !mAnimationMap.empty()) + { + if (!mAnimationList.empty()) { + openAnimation(); + + for (AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end(); ++it) + exportSources(*it); - for ( AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end();++it ) - exportSources ( *it ); + for (AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end(); ++it) + exportSampler(*it); - for ( AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end();++it ) - exportSampler ( *it ); + for (AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end(); ++it) + exportChannel(*it); - for ( AnimationList::iterator it = mAnimationList.begin(); it != mAnimationList.end();++it ) - exportChannel ( *it ); + + closeAnimation(); + } +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) + for (auto& animPair : mAnimationMap) { + String animName = animPair.first; + openAnimation(animName + "_animation", animName); + for (auto& anim : animPair.second) { + exportSources(anim); + } + for (auto& anim : animPair.second) { + exportSampler(anim); + } + for (auto& anim : animPair.second) { + exportChannel(anim); + } + closeAnimation(); + } +#endif closeLibrary(); - } + +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) + // Export the animation clips to go with the named animations + if (mAnimationMap.size() != 0) { + mClipExporter.open(); + for (auto& animPair : mAnimationMap) { + String animName = animPair.first; + COLLADASW::ColladaAnimationClip clip(animName + "_clip", animName); + clip.setInstancedAnimation(animName + "_animation"); + mClipExporter.addClip(clip); + } + mClipExporter.close(); + } +#endif + } } @@ -276,7 +312,7 @@ //--------------------------------------------------------------- - bool AnimationExporter::addAnimatedPoint3 ( Control * controller, const String & id, const String & sid, const String parameters[], bool forceFullCheck, ConversionFunctor* conversionFunctor ) + bool AnimationExporter::addAnimatedPoint3 ( Control * controller, const String& layerName, const String & id, const String & sid, const String parameters[], bool forceFullCheck, ConversionFunctor* conversionFunctor ) { if ( !isAnimated(controller)) return false; @@ -296,7 +332,11 @@ Animation animation ( subControllers[ i ], id, sid, parameters + i, Animation::FLOAT, conversionFunctor ); if ( !forceFullCheck || isAnimated(animation, true) ) { - addAnimation ( animation ); + if (layerName == "") + addAnimation(animation); + else + addNamedAnimation(animation, layerName); + animated = true; } } @@ -308,7 +348,11 @@ Animation animation ( controller, id, sid, parameters, Animation::FLOAT3, conversionFunctor ); if ( !forceFullCheck || isAnimated(animation, true) ) { - addAnimation ( animation ); + if (layerName == "") + addAnimation(animation); + else + addNamedAnimation(animation, layerName); + animated = true; } } @@ -357,7 +401,7 @@ //--------------------------------------------------------------- - bool AnimationExporter::addAnimatedAngle ( Control * controller, const String & id, const String & sid, const String parameters[], int animatedAngle, bool forceFullCheck ) + bool AnimationExporter::addAnimatedAngle ( Control * controller, const String& layerName, const String & id, const String & sid, const String parameters[], int animatedAngle, bool forceFullCheck ) { if ( !isAnimated ( controller ) ) return false; @@ -388,7 +432,11 @@ if ( !forceFullCheck || isAnimated(animation, true) ) { - addAnimation ( animation ); + if (layerName == "") + addAnimation(animation); + else + addNamedAnimation(animation, layerName); + return true; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxColladaPlugin.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxColladaPlugin.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxColladaPlugin.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxColladaPlugin.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -1,7 +1,7 @@ #include "COLLADAMaxStableHeaders.h" #include "COLLADAMaxCOLLADAPlugin.h" -#include "COLLADAMaxVersionInfo.h" +#include "COLLADABUVersionInfo.h" namespace COLLADAMax { @@ -16,10 +16,7 @@ const TCHAR* COLLADAPlugin::PLUGIN_VERSION_TCHAR = __T("Version: 1.4.1"); const String COLLADAPlugin::PLUGIN_VERSION_STRING = "Version: 1.4.1"; - const String COLLADAPlugin::REVISION_STRING = (CURRENT_REVISION.empty() ? "" : String("Revision: ") + CURRENT_REVISION); - const String COLLADAPlugin::PLATFORM_STRING = String("Platform: ") + CURRENT_PLATFORM; - const String COLLADAPlugin::CONFIGURATION_STRING = String("Configuration: ") + CURRENT_CONFIGURATION; - + const String COLLADAPlugin::REVISION_STRING = (COLLADABU::CURRENT_REVISION.empty() ? "" : String("Revision: ") + COLLADABU::CURRENT_REVISION); const TCHAR* COLLADAPlugin::FATALERROR = __T("Fatal Error: exception caught."); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxDocumentExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxDocumentExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxDocumentExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxDocumentExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -35,18 +35,26 @@ #include "COLLADASWScene.h" #include "COLLADASWConstants.h" +#include "COLLADABUVersionInfo.h" + #include namespace COLLADAMax { const String DocumentExporter::SCENE_ID = "MaxScene"; + const String DocumentExporter::PHYSIC_SCENE_ID = "PhysicMaxScene"; + + std::size_t foundLast = COLLADABU::CURRENT_REVISION.find_last_of("."); + std::size_t foundFirst = COLLADABU::CURRENT_REVISION.find_first_of("."); + + String versionMajor = COLLADABU::CURRENT_REVISION.substr(0, foundFirst); + String versionMinor = COLLADABU::CURRENT_REVISION.substr(foundFirst + 1, foundLast - foundFirst - 1); const String DocumentExporter::AUTHORING_TOOL = String("OpenCOLLADA for 3ds Max") + - (COLLADAPlugin::PLUGIN_VERSION_STRING.empty() ? "" : String("; ") + COLLADAPlugin::PLUGIN_VERSION_STRING) + - (COLLADAPlugin::REVISION_STRING.empty() ? "" : String("; ") + COLLADAPlugin::REVISION_STRING) + - String("; ") + COLLADAPlugin::PLATFORM_STRING + - String("; ") + COLLADAPlugin::CONFIGURATION_STRING; + (COLLADAPlugin::PLUGIN_VERSION_STRING.empty() ? "" : String("; ") + COLLADAPlugin::PLUGIN_VERSION_STRING) + + (COLLADABU::CURRENT_REVISION.empty() ? "" : String("; ") + String("Version: ") + versionMajor + "." + versionMinor) + + (COLLADABU::CURRENT_REVISION.empty() ? "" : String("; ") + String("Revision: ") + COLLADABU::CURRENT_REVISION.substr(foundLast + 1)); //--------------------------------------------------------------- DocumentExporter::DocumentExporter ( Interface * i, const NativeString &filepath, COLLADABU::IDList& xRefExportFileNames, bool exportOnlySelected ) @@ -274,9 +282,10 @@ } //--------------------------------------------------------------- - void DocumentExporter::exportScene() + void DocumentExporter::exportScene() { - COLLADASW::Scene scene ( &mStreamWriter, COLLADASW::URI ( COLLADASW::Utils::EMPTY_STRING, SCENE_ID ) ); scene.add(); + COLLADASW::Scene scene(&mStreamWriter, COLLADASW::URI(COLLADASW::Utils::EMPTY_STRING, SCENE_ID), COLLADASW::URI(COLLADASW::Utils::EMPTY_STRING, PHYSIC_SCENE_ID)); + scene.add(); } //--------------------------------------------------------------- diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxDocumentImporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxDocumentImporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxDocumentImporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxDocumentImporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -159,7 +159,7 @@ // We need the second pass to create skin controllers COLLADAFW::Root root2(&loader2, this); - if ( !root.loadDocument(mImportFilePath) ) + if ( !root2.loadDocument(mImportFilePath) ) return false; if( errorHandler.hasCriticalError() ) diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxEffectExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxEffectExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxEffectExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxEffectExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -250,6 +250,8 @@ setExtraTechnique(this); + flushAllTechniques(); + //COLLADASW::EffectProfile effectCommonProfile ( LibraryEffects::mSW ); @@ -518,14 +520,11 @@ effectProfile.setReflective ( COLLADASW::ColorOrTexture ( COLLADASW::Color::BLACK ) ); bool isSpecularAnimated = mAnimationExporter->addAnimatedParameter(shaderParameters, ShaderParameterIndices::SPECULAR_COLOR, effectId, effectProfile.getSpecularDefaultSid(), COLOR_PARAMETERS, true, &scaleConversion); - effectProfile.setSpecular ( maxColor2ColorOrTexture ( shader->GetSpecularClr ( animationStart ), weight ), isSpecularAnimated ); - - //bool isGlossinessAnimated = mAnimationExporter->addAnimatedParameter(shaderParameters, ShaderParameterIndices::GLOSSINESS, effectId, effectProfile.getShininessDefaultSid(), 0, true, &ConversionFunctors::toPercent); - //effectProfile.setShininess ( ConversionFunctors::toPercent(shader->GetGlossiness ( animationStart )) * weight, isGlossinessAnimated ); - - bool isSpecularLevelAnimated = mAnimationExporter->addAnimatedParameter(shaderParameters, ShaderParameterIndices::SPECULAR_LEVEL, effectId, effectProfile.getShininessDefaultSid(), 0, true, &ConversionFunctors::toPercent); float specularLevel = shader->GetSpecularLevel ( animationStart ); - effectProfile.setShininess ( specularLevel * weight, isSpecularLevelAnimated ); + effectProfile.setSpecular ( maxColor2ColorOrTexture ( shader->GetSpecularClr ( animationStart ) * specularLevel, weight ), isSpecularAnimated ); + + bool isGlossinessAnimated = mAnimationExporter->addAnimatedParameter(shaderParameters, ShaderParameterIndices::GLOSSINESS, effectId, effectProfile.getShininessDefaultSid(), 0, true, &ConversionFunctors::toPercent); + effectProfile.setShininess ( ConversionFunctors::toPercent(shader->GetGlossiness ( animationStart )) * weight, isGlossinessAnimated ); bool useEmissionColor = shader->IsSelfIllumClrOn() != false; if (useEmissionColor) @@ -608,7 +607,7 @@ break; case SPECULAR: - blendColor ( effectProfile.getSpecular(), material->GetSpecular ( initTime ), colorAmount ); + blendColor ( effectProfile.getSpecular(), material->GetSpecular ( initTime ) * material->GetShader()->GetSpecularLevel( initTime ), colorAmount ); break; } @@ -950,6 +949,7 @@ openEffect ( effectId ); setExtraTechnique(this); + flushAllTechniques(); COLLADASW::EffectProfile effectProfile ( LibraryEffects::mSW ); effectProfile.setShaderType ( COLLADASW::EffectProfile::PHONG ); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxExportSceneGraph.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxExportSceneGraph.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxExportSceneGraph.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxExportSceneGraph.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -105,8 +105,7 @@ if ( shouldAddInstanceNodesForXRefs ) { - auto& xRefSceneGraphList = mINodeXRefSceneGraphListMap[xRefParent ? xRefParent : mRootNode]; - xRefSceneGraphList.push_back(xRefScene); + mINodeXRefSceneGraphListMap[xRefParent ? xRefParent : mRootNode].push_back(xRefScene); isNotEmpty = true; } @@ -205,9 +204,9 @@ //--------------------------------------------------------------- const ExportSceneGraph::XRefSceneGraphList* ExportSceneGraph::getXRefSceneGraphList(INode* node) const { - auto i = mINodeXRefSceneGraphListMap.find(node); + INodeXRefSceneGraphListMap::const_iterator i = mINodeXRefSceneGraphListMap.find(node); - if ( i == mINodeXRefSceneGraphListMap.cend() ) + if ( i == mINodeXRefSceneGraphListMap.end() ) { return NULL; } @@ -219,9 +218,9 @@ { std::set set; - for ( auto i = mINodeXRefSceneGraphListMap.cbegin(); i != mINodeXRefSceneGraphListMap.cend(); ++ i ) + for (INodeXRefSceneGraphListMap::const_iterator i = mINodeXRefSceneGraphListMap.begin(); i != mINodeXRefSceneGraphListMap.end(); ++i) { - for ( XRefSceneGraphList::const_iterator j = i->second.cbegin(); j != i->second.cend(); ++j ) + for ( XRefSceneGraphList::const_iterator j = i->second.begin(); j != i->second.end(); ++j ) { set.insert(&*j); } @@ -233,7 +232,7 @@ ExportSceneGraph::XRefSceneGraphList result; - for ( auto i = set.cbegin(); i != set.cend(); ++i ) + for (std::set::const_iterator i = set.begin(); i != set.end(); ++i) { result.push_back(**i); } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxExtra.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxExtra.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxExtra.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxExtra.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -76,6 +76,7 @@ mExtraTechnique->addExtraTechniqueChildParameter(Extra::TECHNIQUE_PROFILE_3DSMAX, childName, parameterName, parameters->GetInt(parameterIndex, animationStart)); } break; + case TYPE_PCNT_FRAC: case TYPE_FLOAT: if ( AnimationExporter::isAnimated(parameters, parameterIndex) ) { @@ -125,6 +126,7 @@ mExtraTechnique->addExtraTechniqueChildParameter(Extra::TECHNIQUE_PROFILE_3DSMAX, childName, parameterName, parameters->GetInt(parameterIndex, animationStart)); } break; + case TYPE_PCNT_FRAC: case TYPE_FLOAT: if ( AnimationExporter::isAnimated(parameters, parameterIndex) ) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxGeometryExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxGeometryExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxGeometryExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxGeometryExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -41,6 +41,7 @@ #include #include +#include #include #include #include diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxLightExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxLightExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxLightExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxLightExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -277,8 +277,10 @@ if (parameters) { + GenLight* light = (GenLight*)(lightObject); + float intensity = light->GetIntensity( 0 ); bool hasAnimatedColor = mAnimationExporter->addAnimatedParameter(parameters, MaxLight::PB_COLOR, lightId, colladaLight->getColorDefaultSid(), 0 ); - colladaLight->setColor(EffectExporter::maxColor2Color(parameters->GetColor(MaxLight::PB_COLOR)), hasAnimatedColor); + colladaLight->setColor(EffectExporter::maxColor2Color(parameters->GetColor(MaxLight::PB_COLOR) * intensity), hasAnimatedColor); } else if (parametersSky ) { @@ -289,7 +291,7 @@ if (isSpot || isPoint) { - int decayFunction = parameters->GetInt(isPoint ? MaxLight::PB_DECAY : MaxLight::PB_OMNIDECAY, mDocumentExporter->getOptions().getAnimationStart()); + int decayFunction = parameters->GetInt(isPoint ? MaxLight::PB_OMNIDECAY : MaxLight::PB_DECAY, mDocumentExporter->getOptions().getAnimationStart()); switch (decayFunction) { case 1: diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxOptions.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxOptions.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxOptions.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxOptions.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -93,6 +93,7 @@ mAnimations(true), mSampleAnimation(false), mCreateClip(false), + mLayersAsClips(false), mBakeMatrices(false), mRelativePaths(false), mCopyImages(true), @@ -165,6 +166,7 @@ CheckDlgButton(hWnd, IDC_ANIM_ENABLE, mAnimations); CheckDlgButton(hWnd, IDC_ANIM_SAMPLE, mSampleAnimation); CheckDlgButton(hWnd, IDC_ANIM_CLIP, mCreateClip); + CheckDlgButton(hWnd, IDC_LAYERS_TO_CLIPS, mLayersAsClips); CheckDlgButton(hWnd, IDC_BAKE_MATRICES, mBakeMatrices); CheckDlgButton(hWnd, IDC_RELATIVE_PATHS, mRelativePaths); CheckDlgButton(hWnd, IDC_COPY_IMAGES, mCopyImages); @@ -174,6 +176,12 @@ EnableDlgControl(hWnd, IDC_ANIM_SAMPLE, mAnimations); EnableDlgControl(hWnd, IDC_ANIM_CLIP, mAnimations); +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) + EnableDlgControl(hWnd, IDC_LAYERS_TO_CLIPS, mAnimations); +#else + EnableDlgControl(hWnd, IDC_LAYERS_TO_CLIPS, false); +#endif + // setup spinners spin = GetISpinner(GetDlgItem(hWnd, IDC_ANIM_START_SPIN)); spin->LinkToEdit(GetDlgItem(hWnd,IDC_ANIM_START), EDITTYPE_TIME); @@ -202,6 +210,11 @@ mAnimations = IsDlgButtonChecked(hWnd, IDC_ANIM_ENABLE) == BST_CHECKED; EnableDlgControl(hWnd, IDC_ANIM_SAMPLE, mAnimations); EnableDlgControl(hWnd, IDC_ANIM_CLIP, mAnimations); +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) + EnableDlgControl(hWnd, IDC_LAYERS_TO_CLIPS, mAnimations); +#else + EnableDlgControl(hWnd, IDC_LAYERS_TO_CLIPS, false); +#endif /*spin = GetISpinner(GetDlgItem(hWnd, IDC_ANIM_START_SPIN)); //spin->LinkToEdit(GetDlgItem(hWnd,IDC_ANIM_START), EDITTYPE_INT); @@ -237,6 +250,7 @@ mAnimations = IsDlgButtonChecked(hWnd, IDC_ANIM_ENABLE) == BST_CHECKED; mSampleAnimation = IsDlgButtonChecked(hWnd, IDC_ANIM_SAMPLE) == BST_CHECKED; mCreateClip = IsDlgButtonChecked(hWnd, IDC_ANIM_CLIP) == BST_CHECKED; + mLayersAsClips = IsDlgButtonChecked(hWnd, IDC_LAYERS_TO_CLIPS) == BST_CHECKED; mNormals = IsDlgButtonChecked(hWnd, IDC_GEOM_NORMALS) == BST_CHECKED; mTriangulate = IsDlgButtonChecked(hWnd, IDC_GEOM_TRIANGLES) == BST_CHECKED; mIncludeXrefs = IsDlgButtonChecked(hWnd, IDC_GEOM_XREFS) == BST_CHECKED; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxVisualSceneExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxVisualSceneExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMax/src/COLLADAMaxVisualSceneExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMax/src/COLLADAMaxVisualSceneExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -41,6 +41,8 @@ #include #include +#include + namespace COLLADAMax { @@ -115,7 +117,7 @@ INode *node = exportNode->getINode(); - // if true, we do not write a COLALDA node for this max node + // if true, we do not write a COLLADA node for this max node bool exportOnlyChilds = node->IsRootNode() != 0; COLLADASW::Node colladaNode( mSW ); @@ -352,8 +354,9 @@ } AnimationExporter * animationExporter = mDocumentExporter->getAnimationExporter(); + const Options& options = mDocumentExporter->getOptions(); - if ( mDocumentExporter->getOptions().getBakeMatrices() || AnimationExporter::forceSampleMatrices(iNode)) + if ( options.getBakeMatrices() || AnimationExporter::forceSampleMatrices(iNode) ) { double matrix[ 4 ][ 4 ] ; matrix3ToDouble4x4 ( matrix, transformationMatrix ); @@ -376,19 +379,47 @@ // Translation Control * translationController = ( transformationController ) ? transformationController->GetPositionController() : 0 ; - if ( animationExporter->addAnimatedPoint3 ( translationController, fullNodeId, TRANSLATE_SID, TRANSLATION_PARAMETERS, true ) ) - { - colladaNode.addTranslate ( TRANSLATE_SID, affineParts.t.x, affineParts.t.y, affineParts.t.z ); + if (!AnimationExporter::isAnimated(translationController)) { + if (!affineParts.t.Equals(Point3::Origin, TOLERANCE)) + colladaNode.addTranslate(affineParts.t.x, affineParts.t.y, affineParts.t.z); + } + else { + // Animated + + ILayerControl* ilc = GetILayerControlInterface(translationController); + if (options.getExportLayersAsClips() && ilc != NULL && ilc->GetLayerCount() > 1) + { +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) + + for (int i = 0; i < ilc->GetLayerCount(); ++i) { + // Export layers as named animations + NativeString layerName(i == 0 ? L"" : ilc->GetLayerName(i).data()); // Leave the base layer without a name + + Control* layerControl = ilc->GetSubCtrl(i); + Point3 translation; + layerControl->GetValue(mDocumentExporter->getOptions().getAnimationStart(), &translation, FOREVER, CTRL_ABSOLUTE); + + String sidAppend = (i == 0) ? "" : "_" + layerName; + + colladaNode.addTranslate(TRANSLATE_SID + sidAppend, translation.x, translation.y, translation.z); + + animationExporter->addAnimatedPoint3(layerControl, layerName, fullNodeId, TRANSLATE_SID + "_" + layerName, TRANSLATION_PARAMETERS, true); + } +#endif + } + else + { + // No layers + colladaNode.addTranslate(TRANSLATE_SID, affineParts.t.x, affineParts.t.y, affineParts.t.z); + animationExporter->addAnimatedPoint3(translationController, "", fullNodeId, TRANSLATE_SID, TRANSLATION_PARAMETERS, true); + } + } - else - if ( !affineParts.t.Equals ( Point3::Origin, TOLERANCE ) ) - colladaNode.addTranslate ( affineParts.t.x, affineParts.t.y, affineParts.t.z ); // Rotation - // first try with the Rotation controller - Control * rotationController = ( transformationController ) ? transformationController->GetRotationController() : 0; + Control * rotationController = (transformationController) ? transformationController->GetRotationController() : 0; if ( !AnimationExporter::isAnimated(rotationController) ) { @@ -407,26 +438,56 @@ else { - float eulerAngles[ 3 ]; - Quat quaternion; - rotationController->GetValue ( mDocumentExporter->getOptions().getAnimationStart(), &quaternion, FOREVER, CTRL_ABSOLUTE ); - QuatToEuler ( quaternion, eulerAngles, EULERTYPE_XYZ ); - - // Export XYZ euler rotation in Z Y X order in the file - if ( animationExporter->addAnimatedAngle ( rotationController, fullNodeId, ROTATE_Z_SID, ROTATION_PARAMETER, Animation::ROTATION_Z, true )) - colladaNode.addRotateZ ( ROTATE_Z_SID, COLLADASW::MathUtils::radToDeg ( eulerAngles[ 2 ] ) ); - else - colladaNode.addRotateZ ( COLLADASW::MathUtils::radToDeg ( eulerAngles[ 2 ] ) ); + // Animated - if ( animationExporter->addAnimatedAngle ( rotationController, fullNodeId, ROTATE_Y_SID, ROTATION_PARAMETER, Animation::ROTATION_Y, true ) ) - colladaNode.addRotateY ( ROTATE_Y_SID, COLLADASW::MathUtils::radToDeg ( eulerAngles[ 1 ] ) ); - else - colladaNode.addRotateY ( COLLADASW::MathUtils::radToDeg ( eulerAngles[ 1 ] ) ); + ILayerControl* ilc = GetILayerControlInterface(rotationController); + if (options.getExportLayersAsClips() && ilc != NULL && ilc->GetLayerCount() > 1) + { +#if defined(MAX_RELEASE_R17) && (MAX_RELEASE >= MAX_RELEASE_R17) - if ( animationExporter->addAnimatedAngle ( rotationController, fullNodeId, ROTATE_X_SID, ROTATION_PARAMETER, Animation::ROTATION_X, true ) ) - colladaNode.addRotateX ( ROTATE_X_SID, COLLADASW::MathUtils::radToDeg ( eulerAngles[ 0 ] ) ); + for (int i = 0; i < ilc->GetLayerCount(); ++i) { + // Export layers as named animations + NativeString layerName(i == 0 ? L"" : ilc->GetLayerName(i).data()); // Leave the base layer without a name + + Control* layerControl = ilc->GetSubCtrl(i); + + float eulerAngles[3]; + Quat quaternion; + layerControl->GetValue(mDocumentExporter->getOptions().getAnimationStart(), &quaternion, FOREVER, CTRL_ABSOLUTE); + QuatToEuler(quaternion, eulerAngles, EULERTYPE_XYZ); + + String sidAppend = (i == 0) ? "" : "_" + layerName; + + // Add nodes for the additive animations to target + colladaNode.addRotateZ(ROTATE_Z_SID + sidAppend, 0); + colladaNode.addRotateY(ROTATE_Y_SID + sidAppend, 0); + colladaNode.addRotateX(ROTATE_X_SID + sidAppend, 0); + + animationExporter->addAnimatedAngle(layerControl, layerName, fullNodeId, ROTATE_Z_SID + sidAppend, ROTATION_PARAMETER, Animation::ROTATION_Z, true); + animationExporter->addAnimatedAngle(layerControl, layerName, fullNodeId, ROTATE_Y_SID + sidAppend, ROTATION_PARAMETER, Animation::ROTATION_Y, true); + animationExporter->addAnimatedAngle(layerControl, layerName, fullNodeId, ROTATE_X_SID + sidAppend, ROTATION_PARAMETER, Animation::ROTATION_X, true); + } +#endif + } else - colladaNode.addRotateX ( COLLADASW::MathUtils::radToDeg ( eulerAngles[ 0 ] ) ); + { + + float eulerAngles[3]; + Quat quaternion; + rotationController->GetValue(mDocumentExporter->getOptions().getAnimationStart(), &quaternion, FOREVER, CTRL_ABSOLUTE); + QuatToEuler(quaternion, eulerAngles, EULERTYPE_XYZ); + + // Add the scene nodes + colladaNode.addRotateZ(ROTATE_Z_SID, COLLADASW::MathUtils::radToDeg(eulerAngles[2])); + colladaNode.addRotateY(ROTATE_Y_SID, COLLADASW::MathUtils::radToDeg(eulerAngles[1])); + colladaNode.addRotateX(ROTATE_X_SID, COLLADASW::MathUtils::radToDeg(eulerAngles[0])); + + // Export the entire rotation as a single animation + animationExporter->addAnimatedAngle(rotationController, "", fullNodeId, ROTATE_Z_SID, ROTATION_PARAMETER, Animation::ROTATION_Z, true); + animationExporter->addAnimatedAngle(rotationController, "", fullNodeId, ROTATE_Y_SID, ROTATION_PARAMETER, Animation::ROTATION_Y, true); + animationExporter->addAnimatedAngle(rotationController, "", fullNodeId, ROTATE_X_SID, ROTATION_PARAMETER, Animation::ROTATION_X, true); + } + } //Scaling @@ -438,7 +499,7 @@ SClass_ID scid = scaleController ? scaleController->SuperClassID() : 0; Class_ID cid = scaleController ? scaleController->ClassID() : Class_ID(); - bool hasAnimatedScale = animationExporter->addAnimatedPoint3( scaleController, fullNodeId, SCALE_SID, TRANSLATION_PARAMETERS, true ); + bool hasAnimatedScale = animationExporter->addAnimatedPoint3( scaleController, "", fullNodeId, SCALE_SID, TRANSLATION_PARAMETERS, true ); if ( hasAnimatedScale || !affineParts.k.Equals ( Point3 ( 1.0f, 1.0f, 1.0f ), TOLERANCE ) ) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/BUILD_MAC.TXT opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/BUILD_MAC.TXT --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/BUILD_MAC.TXT 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/BUILD_MAC.TXT 2016-07-13 19:25:45.000000000 +0000 @@ -1,8 +1,9 @@ +Note: Work In Progress. This info is outdated. Currently supporting Maya 2011-2015 + Requirements: ------------- To build the COLLADAMaya plug-in, you need following installations: - Autodesk Maya, including the SDK -- Boost C++ libraries - libxml Supported versions of Autodesk Maya are: @@ -10,36 +11,28 @@ - Autodesk Maya 2009 - Autodesk Maya 2008 -Supported and tested versions of boost c++ libraries: -- Boost 1.35 -- Boost 1.36 - -You can download the latest sources of boost from: -http://www.boost.org/users/download/ -Please install boost in the default folders on OSMac. - To build libxml the same way as it is done for binary releases of COLLADAMaya see ~project_dir/COLLADAMaya/COLLADAMaya.xcodeproj/configure_libxml_for_COLLADAMaya.sh -You also need a gcc compiler. The Project was build and tested with XCode. You -can find the XCode project file in -~project_dir/COLLADAMaya/COLLADAMaya.xcodeproj - +build tested with xcode 6 Build: ------ -Download and compile the sources of COLLADAMaya from -http://code.google.com/p/opencollada/source/checkout Open the project from ~project_dir/COLLADAMaya/COLLADAMaya.xcodeproj The solution configurations -- Release 2010 -- Debug 2010 -- Release 2009 -- Debug 2009 -- Release 2008 -- Debug 2008 +- Release 2015 +- Debug 2015 +- Release 2014 +- Debug 2014 +- Release 2013 +- Debug 2013 +- Release 2012 +- Debug 2012 +- Release 2011 +- Debug 2011 + will create a bundle called "COLLADAMaya.bundle". The file will be created in the output folder under ~project_dir/COLLADAMaya/build/Debug, respectively in diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/BUILD_WIN.TXT opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/BUILD_WIN.TXT --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/BUILD_WIN.TXT 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/BUILD_WIN.TXT 2016-07-13 19:25:45.000000000 +0000 @@ -1,82 +1,46 @@ +++ Building for windows + Requirements: ------------- To build the COLLADAMaya plug-in, you need following installations: - Autodesk Maya, including the SDK -- Boost C++ libraries - Supported versions of Autodesk Maya are: -- Autodesk Maya 2008 -- Autodesk Maya 2009 -- Autodesk Maya 2010 - -Supported and tested versions of boost c++ libraries: -- Boost 1.35 -- Boost 1.36 - -You can download the latest version of boost from: -http://www.boost.org/users/download/ - -You also need a c++ compiler. The Project was build and tested with: -- For Windows: Microsoft Visual Studio 2005 and the VC2005 Platform SDK. - You find the MVS solution file in ~project_dir/COLLADAMaya/COLLADAMaya.sln, - respectively the MVS project file in - ~project_dir/COLLADAMaya/scripts/COLLADAMaya.vcproj -- For OSMac: XCode - You can find the XCode project file in - ~project_dir/COLLADAMaya/COLLADAMaya.xcodeproj + Autodesk Maya 2011 + Autodesk Maya 2012 + Autodesk Maya 2013 + Autodesk Maya 2014 + Autodesk Maya 2015 + +- Microsoft Visual Studio 2013 (for loading the solution, 2012 may work too) + AND additioal versions of Visual Studio depending of the Maya version: + Visual 2008 for Maya 2011-2012 + Visual 2010 for Maya 2013-2014 + Visual 2012 for Maya 2014-2015 + + +You find the MVS solution file in COLLADAMaya/COLLADAMaya.sln -The project's build is tested for: win32, x64, mac. + +The project's build is tested for: win32, x64 Build: ------ -Before you start to build, you have to define following environment -variables for a win32, respectively a x64 system: +Before you start to build, you have to check the following environment +variables are correctly defined. Replace 2011 with the version you want to compile for: + +MAYA_PATH2011 and/or MAYA_PATH2011_X64 + +Note: only X64 is supported in most recent versions of Maya, so only the _X64 variable is needed. + +For example: +MAYA_PATH2015_X64=C:\Program Files\Autodesk\Maya2015 + +This will create a dynamic library called "COLLADAMaya.mll". The file +will be created in the output folder and automatically copied into the folder + 'bin/plug-ins' of your Autodesk Maya installation. -NOTE: The "YOUR_MAYA_PATH" used in the following section depends on your Maya -version. Following environment variables to your Maya location are supported: -- MAYA_PATH2010 -- MAYA_PATH2010_X64 -- MAYA_PATH2009 -- MAYA_PATH2009_X64 -- MAYA_PATH2008 -- MAYA_PATH2008_X64 - -win32: -- "YOUR_MAYA_PATH" to your installation path of Autodesk Maya. - The include directory of maya has to be "$(YOUR_MAYA_PATH)\include". - The lib directory of maya has to be "$(YOUR_MAYA_PATH)\lib". -- The "BOOST_ROOT" environment variable has to be the path to your - installation path of boost. -- The "BOOST_LIB_PATH" environment variable has to be the path to your - lib directory of boost. - -x64: -- "MAYA_PATH2008_X64" to your installation path of Autodesk Maya. - The include directory of maya has to be "$(YOUR_MAYA_PATH)\include". - The lib directory of maya has to be "$(YOUR_MAYA_PATH)\lib". -- The "BOOST_ROOT" environment variable has to be the path to your - installation path of boost. -- The "BOOST_LIB64_PATH" environment variable has to be the path to your - lib directory of boost. - -Download and compile the sources of COLLADAMaya from -http://code.google.com/p/opencollada/source/checkout - -Open the solution in ~project_dir/COLLADAMaya/COLLADAMaya.sln -The solution configurations -- ReleasePlugin2010 -- DebugPlugin2010 -- ReleasePlugin2009 -- DebugPlugin2009 -- ReleasePlugin2008 -- DebugPlugin2008 -will create a dynamic library called "COLLADAMaya.mll". The file -will be created in the output folder and copied into the folder -$(YOUR_MAYA_PATH)/bin/plug-ins of your Autodesk Maya installation. -If you don't use the MS Visual Studio project file, you have to copy the -created "COLLADAMaya.mll" file into this directory. -The solution configuration "ReleaseConsole2008" and "DebugConsole2008" create +The solution configuration "ReleaseConsole" and "DebugConsole" create the "COLLADAMaya.exe" file in the output folder and will be copied into the "./OpenCOLLADA/COLLADAMaya/testsuite" folder. If you start the "testAllFiles.bat", all maya files in the current directory and all sub-directories will be diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/COLLADAMaya.sln opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/COLLADAMaya.sln --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/COLLADAMaya.sln 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/COLLADAMaya.sln 2016-07-13 19:25:45.000000000 +0000 @@ -1,138 +1,84 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAMaya", "scripts\COLLADAMaya.vcproj", "{60331F1F-2334-42AF-80A8-A4A6E3299186}" - ProjectSection(ProjectDependencies) = postProject - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B} = {EAB66F01-60B5-43C9-B78D-A8B0B545A20B} - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} = {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {305C4DD6-E327-49B2-A14A-DBF7E06401D3} = {305C4DD6-E327-49B2-A14A-DBF7E06401D3} - {8628A8F8-BD50-4463-9EE7-F9118CBA194A} = {8628A8F8-BD50-4463-9EE7-F9118CBA194A} - EndProjectSection +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAMaya", "scripts\COLLADAMaya.vcxproj", "{60331F1F-2334-42AF-80A8-A4A6E3299186}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAStreamWriter", "..\COLLADAStreamWriter\scripts\COLLADAStreamWriter.vcproj", "{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}" - ProjectSection(ProjectDependencies) = postProject - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} = {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} - {D1D50DE5-1C1D-4322-B076-8B223A5984A4} = {D1D50DE5-1C1D-4322-B076-8B223A5984A4} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAStreamWriter", "..\COLLADAStreamWriter\scripts\COLLADAStreamWriter.vcxproj", "{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADABaseUtils", "..\COLLADABaseUtils\scripts\COLLADABaseUtils.vcproj", "{2C3C4869-D684-4981-98E7-6D9798B72145}" - ProjectSection(ProjectDependencies) = postProject - {71A48A24-8603-49FB-9458-CB4E97309378} = {71A48A24-8603-49FB-9458-CB4E97309378} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADABaseUtils", "..\COLLADABaseUtils\scripts\COLLADABaseUtils.vcxproj", "{2C3C4869-D684-4981-98E7-6D9798B72145}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAFramework", "..\COLLADAFramework\scripts\COLLADAFramework.vcproj", "{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}" - ProjectSection(ProjectDependencies) = postProject - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADAFramework", "..\COLLADAFramework\scripts\COLLADAFramework.vcxproj", "{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADASaxFrameworkLoader", "..\COLLADASaxFrameworkLoader\scripts\COLLADASaxFrameworkLoader.vcproj", "{8628A8F8-BD50-4463-9EE7-F9118CBA194A}" - ProjectSection(ProjectDependencies) = postProject - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} = {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} = {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COLLADASaxFrameworkLoader", "..\COLLADASaxFrameworkLoader\scripts\COLLADASaxFrameworkLoader.vcxproj", "{8628A8F8-BD50-4463-9EE7-F9118CBA194A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeneratedSaxParser", "..\GeneratedSaxParser\scripts\GeneratedSaxParser.vcproj", "{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}" - ProjectSection(ProjectDependencies) = postProject - {71A48A24-8603-49FB-9458-CB4E97309378} = {71A48A24-8603-49FB-9458-CB4E97309378} - {D7F466F4-2AEA-4648-BE09-024C887BC157} = {D7F466F4-2AEA-4648-BE09-024C887BC157} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeneratedSaxParser", "..\GeneratedSaxParser\scripts\GeneratedSaxParser.vcxproj", "{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXML", "..\Externals\LibXML\scripts\LibXML.vcproj", "{D7F466F4-2AEA-4648-BE09-024C887BC157}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXML", "..\Externals\LibXML\scripts\LibXML.vcxproj", "{D7F466F4-2AEA-4648-BE09-024C887BC157}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\Externals\pcre\scripts\pcre.vcproj", "{71A48A24-8603-49FB-9458-CB4E97309378}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\Externals\pcre\scripts\pcre.vcxproj", "{71A48A24-8603-49FB-9458-CB4E97309378}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathMLSolver", "..\Externals\MathMLSolver\scripts\MathMLSolver.vcproj", "{F1DEFC38-6AA9-4799-983B-96610117CAF7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathMLSolver", "..\Externals\MathMLSolver\scripts\MathMLSolver.vcxproj", "{F1DEFC38-6AA9-4799-983B-96610117CAF7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dae2ma", "..\dae2ma\scripts\dae2ma.vcproj", "{305C4DD6-E327-49B2-A14A-DBF7E06401D3}" - ProjectSection(ProjectDependencies) = postProject - {F1DEFC38-6AA9-4799-983B-96610117CAF7} = {F1DEFC38-6AA9-4799-983B-96610117CAF7} - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} = {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39} - {2C3C4869-D684-4981-98E7-6D9798B72145} = {2C3C4869-D684-4981-98E7-6D9798B72145} - {8628A8F8-BD50-4463-9EE7-F9118CBA194A} = {8628A8F8-BD50-4463-9EE7-F9118CBA194A} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dae2ma", "..\dae2ma\scripts\dae2ma.vcxproj", "{305C4DD6-E327-49B2-A14A-DBF7E06401D3}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBuffer", "..\common\libBuffer\scripts\libBuffer.vcproj", "{D1D50DE5-1C1D-4322-B076-8B223A5984A4}" - ProjectSection(ProjectDependencies) = postProject - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} = {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBuffer", "..\common\libBuffer\scripts\libBuffer.vcxproj", "{D1D50DE5-1C1D-4322-B076-8B223A5984A4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libftoa", "..\common\libftoa\scripts\libftoa.vcproj", "{12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libftoa", "..\common\libftoa\scripts\libftoa.vcxproj", "{12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - DebugConsole2008|Win32 = DebugConsole2008|Win32 - DebugConsole2008|x64 = DebugConsole2008|x64 - DebugConsole2009|Win32 = DebugConsole2009|Win32 - DebugConsole2009|x64 = DebugConsole2009|x64 - DebugConsole2010|Win32 = DebugConsole2010|Win32 - DebugConsole2010|x64 = DebugConsole2010|x64 DebugConsole2011|Win32 = DebugConsole2011|Win32 DebugConsole2011|x64 = DebugConsole2011|x64 DebugConsole2012|Win32 = DebugConsole2012|Win32 DebugConsole2012|x64 = DebugConsole2012|x64 DebugConsole2013|Win32 = DebugConsole2013|Win32 DebugConsole2013|x64 = DebugConsole2013|x64 - DebugPlugin2008|Win32 = DebugPlugin2008|Win32 - DebugPlugin2008|x64 = DebugPlugin2008|x64 - DebugPlugin2009|Win32 = DebugPlugin2009|Win32 - DebugPlugin2009|x64 = DebugPlugin2009|x64 - DebugPlugin2010|Win32 = DebugPlugin2010|Win32 - DebugPlugin2010|x64 = DebugPlugin2010|x64 + DebugConsole2014|Win32 = DebugConsole2014|Win32 + DebugConsole2014|x64 = DebugConsole2014|x64 + DebugConsole2015|Win32 = DebugConsole2015|Win32 + DebugConsole2015|x64 = DebugConsole2015|x64 + DebugConsole2016|Win32 = DebugConsole2016|Win32 + DebugConsole2016|x64 = DebugConsole2016|x64 DebugPlugin2011|Win32 = DebugPlugin2011|Win32 DebugPlugin2011|x64 = DebugPlugin2011|x64 DebugPlugin2012|Win32 = DebugPlugin2012|Win32 DebugPlugin2012|x64 = DebugPlugin2012|x64 DebugPlugin2013|Win32 = DebugPlugin2013|Win32 DebugPlugin2013|x64 = DebugPlugin2013|x64 - ReleaseConsole2008|Win32 = ReleaseConsole2008|Win32 - ReleaseConsole2008|x64 = ReleaseConsole2008|x64 - ReleaseConsole2009|Win32 = ReleaseConsole2009|Win32 - ReleaseConsole2009|x64 = ReleaseConsole2009|x64 - ReleaseConsole2010|Win32 = ReleaseConsole2010|Win32 - ReleaseConsole2010|x64 = ReleaseConsole2010|x64 + DebugPlugin2014|Win32 = DebugPlugin2014|Win32 + DebugPlugin2014|x64 = DebugPlugin2014|x64 + DebugPlugin2015|Win32 = DebugPlugin2015|Win32 + DebugPlugin2015|x64 = DebugPlugin2015|x64 + DebugPlugin2016|Win32 = DebugPlugin2016|Win32 + DebugPlugin2016|x64 = DebugPlugin2016|x64 ReleaseConsole2011|Win32 = ReleaseConsole2011|Win32 ReleaseConsole2011|x64 = ReleaseConsole2011|x64 ReleaseConsole2012|Win32 = ReleaseConsole2012|Win32 ReleaseConsole2012|x64 = ReleaseConsole2012|x64 ReleaseConsole2013|Win32 = ReleaseConsole2013|Win32 ReleaseConsole2013|x64 = ReleaseConsole2013|x64 - ReleaseConsoleProgDB2009|Win32 = ReleaseConsoleProgDB2009|Win32 - ReleaseConsoleProgDB2009|x64 = ReleaseConsoleProgDB2009|x64 - ReleaseConsoleProgDB2010|Win32 = ReleaseConsoleProgDB2010|Win32 - ReleaseConsoleProgDB2010|x64 = ReleaseConsoleProgDB2010|x64 - ReleaseConsoleProgDB2011|Win32 = ReleaseConsoleProgDB2011|Win32 - ReleaseConsoleProgDB2011|x64 = ReleaseConsoleProgDB2011|x64 - ReleasePlugin2008|Win32 = ReleasePlugin2008|Win32 - ReleasePlugin2008|x64 = ReleasePlugin2008|x64 - ReleasePlugin2009|Win32 = ReleasePlugin2009|Win32 - ReleasePlugin2009|x64 = ReleasePlugin2009|x64 - ReleasePlugin2010|Win32 = ReleasePlugin2010|Win32 - ReleasePlugin2010|x64 = ReleasePlugin2010|x64 + ReleaseConsole2014|Win32 = ReleaseConsole2014|Win32 + ReleaseConsole2014|x64 = ReleaseConsole2014|x64 + ReleaseConsole2015|Win32 = ReleaseConsole2015|Win32 + ReleaseConsole2015|x64 = ReleaseConsole2015|x64 + ReleaseConsole2016|Win32 = ReleaseConsole2016|Win32 + ReleaseConsole2016|x64 = ReleaseConsole2016|x64 ReleasePlugin2011|Win32 = ReleasePlugin2011|Win32 ReleasePlugin2011|x64 = ReleasePlugin2011|x64 ReleasePlugin2012|Win32 = ReleasePlugin2012|Win32 ReleasePlugin2012|x64 = ReleasePlugin2012|x64 ReleasePlugin2013|Win32 = ReleasePlugin2013|Win32 ReleasePlugin2013|x64 = ReleasePlugin2013|x64 + ReleasePlugin2014|Win32 = ReleasePlugin2014|Win32 + ReleasePlugin2014|x64 = ReleasePlugin2014|x64 + ReleasePlugin2015|Win32 = ReleasePlugin2015|Win32 + ReleasePlugin2015|x64 = ReleasePlugin2015|x64 + ReleasePlugin2016|Win32 = ReleasePlugin2016|Win32 + ReleasePlugin2016|x64 = ReleasePlugin2016|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2008|Win32.ActiveCfg = DebugConsole2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2008|Win32.Build.0 = DebugConsole2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2008|x64.ActiveCfg = DebugConsole2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2008|x64.Build.0 = DebugConsole2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2009|Win32.ActiveCfg = DebugConsole2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2009|Win32.Build.0 = DebugConsole2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2009|x64.ActiveCfg = DebugConsole2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2009|x64.Build.0 = DebugConsole2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2010|Win32.ActiveCfg = DebugConsole2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2010|Win32.Build.0 = DebugConsole2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2010|x64.ActiveCfg = DebugConsole2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2010|x64.Build.0 = DebugConsole2010|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2011|Win32.ActiveCfg = DebugConsole2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2011|Win32.Build.0 = DebugConsole2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2011|x64.ActiveCfg = DebugConsole2011|x64 @@ -145,18 +91,15 @@ {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2013|Win32.Build.0 = DebugConsole2013|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2013|x64.ActiveCfg = DebugConsole2013|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2013|x64.Build.0 = DebugConsole2013|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2008|Win32.ActiveCfg = DebugPlugin2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2008|Win32.Build.0 = DebugPlugin2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2008|x64.ActiveCfg = DebugPlugin2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2008|x64.Build.0 = DebugPlugin2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2009|Win32.ActiveCfg = DebugPlugin2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2009|Win32.Build.0 = DebugPlugin2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2009|x64.ActiveCfg = DebugPlugin2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2009|x64.Build.0 = DebugPlugin2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2010|Win32.ActiveCfg = DebugPlugin2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2010|Win32.Build.0 = DebugPlugin2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2010|x64.ActiveCfg = DebugPlugin2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2010|x64.Build.0 = DebugPlugin2010|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2014|Win32.ActiveCfg = DebugConsole2014|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2014|x64.ActiveCfg = DebugConsole2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2014|x64.Build.0 = DebugConsole2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2015|Win32.ActiveCfg = DebugConsole2015|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2015|x64.ActiveCfg = DebugConsole2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2015|x64.Build.0 = DebugConsole2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2016|Win32.ActiveCfg = DebugConsole2016|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2016|x64.ActiveCfg = DebugConsole2016|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugConsole2016|x64.Build.0 = DebugConsole2016|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2011|Win32.ActiveCfg = DebugPlugin2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2011|Win32.Build.0 = DebugPlugin2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2011|x64.ActiveCfg = DebugPlugin2011|x64 @@ -169,18 +112,15 @@ {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2013|Win32.Build.0 = DebugPlugin2013|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2013|x64.ActiveCfg = DebugPlugin2013|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2013|x64.Build.0 = DebugPlugin2013|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2008|Win32.ActiveCfg = ReleaseConsole2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2008|Win32.Build.0 = ReleaseConsole2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2008|x64.ActiveCfg = ReleaseConsole2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2008|x64.Build.0 = ReleaseConsole2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2009|Win32.ActiveCfg = ReleaseConsole2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2009|Win32.Build.0 = ReleaseConsole2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2009|x64.ActiveCfg = ReleaseConsole2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2009|x64.Build.0 = ReleaseConsole2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2010|Win32.ActiveCfg = ReleaseConsole2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2010|Win32.Build.0 = ReleaseConsole2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2010|x64.ActiveCfg = ReleaseConsole2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2010|x64.Build.0 = ReleaseConsole2010|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2014|Win32.ActiveCfg = DebugPlugin2014|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2014|x64.ActiveCfg = DebugPlugin2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2014|x64.Build.0 = DebugPlugin2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2015|Win32.ActiveCfg = DebugPlugin2015|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2015|x64.ActiveCfg = DebugPlugin2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2015|x64.Build.0 = DebugPlugin2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2016|Win32.ActiveCfg = DebugPlugin2016|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2016|x64.ActiveCfg = DebugPlugin2016|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin2016|x64.Build.0 = DebugPlugin2016|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2011|Win32.ActiveCfg = ReleaseConsole2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2011|Win32.Build.0 = ReleaseConsole2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2011|x64.ActiveCfg = ReleaseConsole2011|x64 @@ -193,30 +133,15 @@ {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2013|Win32.Build.0 = ReleaseConsole2013|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2013|x64.ActiveCfg = ReleaseConsole2013|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2013|x64.Build.0 = ReleaseConsole2013|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = ReleaseConsoleProgDB2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2009|Win32.Build.0 = ReleaseConsoleProgDB2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = ReleaseConsoleProgDB2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2010|Win32.Build.0 = ReleaseConsoleProgDB2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = ReleaseConsoleProgDB2011|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2011|Win32.Build.0 = ReleaseConsoleProgDB2011|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2011|x64.ActiveCfg = ReleaseConsoleProgDB2011|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsoleProgDB2011|x64.Build.0 = ReleaseConsoleProgDB2011|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2008|Win32.ActiveCfg = ReleasePlugin2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2008|Win32.Build.0 = ReleasePlugin2008|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2008|x64.ActiveCfg = ReleasePlugin2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2008|x64.Build.0 = ReleasePlugin2008|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2009|Win32.ActiveCfg = ReleasePlugin2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2009|Win32.Build.0 = ReleasePlugin2009|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2009|x64.ActiveCfg = ReleasePlugin2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2009|x64.Build.0 = ReleasePlugin2009|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2010|Win32.ActiveCfg = ReleasePlugin2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2010|Win32.Build.0 = ReleasePlugin2010|Win32 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2010|x64.ActiveCfg = ReleasePlugin2010|x64 - {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2010|x64.Build.0 = ReleasePlugin2010|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2014|Win32.ActiveCfg = ReleaseConsole2014|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2014|x64.ActiveCfg = ReleaseConsole2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2014|x64.Build.0 = ReleaseConsole2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2015|Win32.ActiveCfg = ReleaseConsole2015|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2015|x64.ActiveCfg = ReleaseConsole2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2015|x64.Build.0 = ReleaseConsole2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2016|Win32.ActiveCfg = ReleaseConsole2016|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2016|x64.ActiveCfg = ReleaseConsole2016|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleaseConsole2016|x64.Build.0 = ReleaseConsole2016|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2011|Win32.ActiveCfg = ReleasePlugin2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2011|Win32.Build.0 = ReleasePlugin2011|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2011|x64.ActiveCfg = ReleasePlugin2011|x64 @@ -229,1194 +154,939 @@ {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2013|Win32.Build.0 = ReleasePlugin2013|Win32 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2013|x64.ActiveCfg = ReleasePlugin2013|x64 {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2013|x64.Build.0 = ReleasePlugin2013|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_ProgDB_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_ProgDB_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_ProgDB_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_ProgDB_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_ProgDB_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_ProgDB_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2008|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2008|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2008|x64.ActiveCfg = Debug_LibXML_NoValidation|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2008|x64.Build.0 = Debug_LibXML_NoValidation|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|Win32.ActiveCfg = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|Win32.Build.0 = Debug_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|x64.ActiveCfg = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|x64.Build.0 = Debug_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2008|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2008|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2008|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2008|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|Win32.ActiveCfg = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|Win32.Build.0 = Release_LibXML_NoValidation_static|Win32 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|x64.ActiveCfg = Release_LibXML_NoValidation_static|x64 - {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|x64.Build.0 = Release_LibXML_NoValidation_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2008|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2008|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2008|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2008|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|Win32.ActiveCfg = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|Win32.Build.0 = Debug_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|x64.ActiveCfg = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|x64.Build.0 = Debug_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2008|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2008|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2008|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2008|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_LibXML_ProgDB_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_LibXML_ProgDB_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|x64.Build.0 = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|Win32.ActiveCfg = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|Win32.Build.0 = Release_LibXML_static|Win32 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|x64.ActiveCfg = Release_LibXML_static|x64 - {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|x64.Build.0 = Release_LibXML_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|Win32.ActiveCfg = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|Win32.Build.0 = Debug_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|x64.ActiveCfg = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|x64.Build.0 = Debug_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_ProgDB_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_ProgDB_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|x64.Build.0 = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|Win32.ActiveCfg = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|Win32.Build.0 = Release_static|Win32 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|x64.ActiveCfg = Release_static|x64 - {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|x64.Build.0 = Release_static|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2008|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2008|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2008|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2008|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2009|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2009|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2009|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2009|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2010|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2010|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2010|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2008|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2008|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2008|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2009|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2009|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2009|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2009|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2010|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2010|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2010|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|Win32.ActiveCfg = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|Win32.Build.0 = Debug|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|x64.ActiveCfg = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|x64.Build.0 = Debug|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2008|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2008|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2008|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2008|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2009|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2009|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2009|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2009|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2010|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2010|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2010|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2009|Win32.Build.0 = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2010|Win32.Build.0 = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2011|Win32.Build.0 = ReleaseProgDB|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2011|x64.ActiveCfg = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsoleProgDB2011|x64.Build.0 = ReleaseProgDB|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2008|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2008|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2008|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2009|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2009|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2009|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2009|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2010|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2010|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2010|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|x64.Build.0 = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|Win32.ActiveCfg = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|Win32.Build.0 = Release|Win32 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|x64.ActiveCfg = Release|x64 - {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|x64.Build.0 = Release|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2008|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2008|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2008|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2008|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2009|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2009|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2009|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2009|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2010|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2010|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2010|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2010|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2008|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2008|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2008|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2008|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2009|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2009|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2009|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2009|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2010|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2010|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2010|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2010|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|Win32.ActiveCfg = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|Win32.Build.0 = Debug_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|x64.ActiveCfg = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|x64.Build.0 = Debug_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2008|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2008|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2008|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2008|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2009|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2009|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2009|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2009|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2010|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2010|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2010|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2010|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2008|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2008|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2008|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2008|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2009|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2009|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2009|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2009|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2010|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2010|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2010|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2010|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|x64.Build.0 = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|Win32.ActiveCfg = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|Win32.Build.0 = Release_lib_static|Win32 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|x64.ActiveCfg = Release_lib_static|x64 - {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2008|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2008|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2008|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2008|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2009|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2009|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2009|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2009|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2010|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2010|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2010|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2010|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2008|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2008|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2008|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2008|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2009|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2009|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2009|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2009|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2010|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2010|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2010|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2010|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|Win32.ActiveCfg = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|Win32.Build.0 = Debug_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|x64.ActiveCfg = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|x64.Build.0 = Debug_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2008|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2008|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2008|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2008|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2009|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2009|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2009|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2009|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2010|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2010|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2010|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2010|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2009|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2009|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2010|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2010|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2011|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2011|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2011|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsoleProgDB2011|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2008|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2008|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2008|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2008|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2009|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2009|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2009|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2009|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2010|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2010|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2010|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2010|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|x64.Build.0 = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|Win32.ActiveCfg = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|Win32.Build.0 = Release_lib_static|Win32 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|x64.ActiveCfg = Release_lib_static|x64 - {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|x64.Build.0 = Release_lib_static|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2014|Win32.ActiveCfg = ReleasePlugin2014|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2014|x64.ActiveCfg = ReleasePlugin2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2014|x64.Build.0 = ReleasePlugin2014|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2015|Win32.ActiveCfg = ReleasePlugin2015|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2015|x64.ActiveCfg = ReleasePlugin2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2015|x64.Build.0 = ReleasePlugin2015|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2016|Win32.ActiveCfg = ReleasePlugin2016|Win32 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2016|x64.ActiveCfg = ReleasePlugin2016|x64 + {60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin2016|x64.Build.0 = ReleasePlugin2016|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2011|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2012|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|Win32.Build.0 = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2013|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2014|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2014|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2014|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2015|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2015|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2015|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2016|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2016|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2016|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2011|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|Win32.Build.0 = Debug_LibXML_NoValidation_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2012|x64.Build.0 = Debug_LibXML_NoValidation_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|Win32.Build.0 = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2013|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2014|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2014|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2014|x64.Build.0 = Debug_LibXML_NoValidation_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2015|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2015|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2015|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2016|Win32.ActiveCfg = Debug_LibXML_NoValidation_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2016|x64.ActiveCfg = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2016|x64.Build.0 = Debug_LibXML_NoValidation_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2011|x64.Build.0 = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2012|x64.Build.0 = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|Win32.Build.0 = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2013|x64.Build.0 = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2014|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2014|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2014|x64.Build.0 = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2015|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2015|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2015|x64.Build.0 = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2016|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2016|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2016|x64.Build.0 = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2011|x64.Build.0 = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2012|x64.Build.0 = Release_LibXML_static_v90|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|Win32.Build.0 = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2013|x64.Build.0 = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2014|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2014|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2014|x64.Build.0 = Release_LibXML_static_v100|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2015|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2015|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2015|x64.Build.0 = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2016|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2016|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2016|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2011|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2012|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|Win32.Build.0 = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2013|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2014|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2014|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2014|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2015|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2015|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2015|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2016|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2016|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2016|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2011|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|Win32.ActiveCfg = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|Win32.Build.0 = Debug_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|x64.ActiveCfg = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2012|x64.Build.0 = Debug_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|Win32.Build.0 = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2013|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2014|Win32.ActiveCfg = Debug_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2014|x64.ActiveCfg = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2014|x64.Build.0 = Debug_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2015|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2015|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2015|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2016|Win32.ActiveCfg = Debug_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2016|x64.ActiveCfg = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2016|x64.Build.0 = Debug_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2011|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2012|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|Win32.Build.0 = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2013|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2014|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2014|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2014|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2015|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2015|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2015|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2016|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2016|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2016|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2011|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|Win32.ActiveCfg = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|Win32.Build.0 = Release_LibXML_static_v90|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|x64.ActiveCfg = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2012|x64.Build.0 = Release_LibXML_static_v90|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|Win32.Build.0 = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2013|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2014|Win32.ActiveCfg = Release_LibXML_static_v100|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2014|x64.ActiveCfg = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2014|x64.Build.0 = Release_LibXML_static_v100|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2015|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2015|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2015|x64.Build.0 = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2016|Win32.ActiveCfg = Release_LibXML_static_v110|Win32 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2016|x64.ActiveCfg = Release_LibXML_static_v110|x64 + {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2016|x64.Build.0 = Release_LibXML_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2011|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2012|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|Win32.Build.0 = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2013|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2014|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2014|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2015|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2015|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2016|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2016|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2011|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|Win32.ActiveCfg = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|Win32.Build.0 = Debug_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|x64.ActiveCfg = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2012|x64.Build.0 = Debug_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|Win32.Build.0 = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2013|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2014|Win32.ActiveCfg = Debug_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2014|x64.ActiveCfg = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2014|x64.Build.0 = Debug_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2015|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2015|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2015|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2016|Win32.ActiveCfg = Debug_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2016|x64.ActiveCfg = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2016|x64.Build.0 = Debug_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2011|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2012|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|Win32.Build.0 = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2013|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2014|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2014|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2014|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2015|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2015|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2015|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2016|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2016|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2016|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2011|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|Win32.ActiveCfg = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|Win32.Build.0 = Release_static_v90|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|x64.ActiveCfg = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2012|x64.Build.0 = Release_static_v90|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|Win32.Build.0 = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2013|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2014|Win32.ActiveCfg = Release_static_v100|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2014|x64.ActiveCfg = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2014|x64.Build.0 = Release_static_v100|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2015|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2015|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2015|x64.Build.0 = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2016|Win32.ActiveCfg = Release_static_v110|Win32 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2016|x64.ActiveCfg = Release_static_v110|x64 + {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2016|x64.Build.0 = Release_static_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|Win32.ActiveCfg = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|Win32.Build.0 = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|x64.ActiveCfg = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2011|x64.Build.0 = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|Win32.ActiveCfg = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|Win32.Build.0 = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|x64.ActiveCfg = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2012|x64.Build.0 = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|Win32.ActiveCfg = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|Win32.Build.0 = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|x64.ActiveCfg = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2013|x64.Build.0 = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2014|Win32.ActiveCfg = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2014|x64.ActiveCfg = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2014|x64.Build.0 = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2015|Win32.ActiveCfg = Debug_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2015|x64.ActiveCfg = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2015|x64.Build.0 = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2016|Win32.ActiveCfg = Debug_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2016|x64.ActiveCfg = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugConsole2016|x64.Build.0 = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|Win32.ActiveCfg = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|Win32.Build.0 = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|x64.ActiveCfg = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2011|x64.Build.0 = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|Win32.ActiveCfg = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|Win32.Build.0 = Debug_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|x64.ActiveCfg = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2012|x64.Build.0 = Debug_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|Win32.ActiveCfg = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|Win32.Build.0 = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|x64.ActiveCfg = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2013|x64.Build.0 = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2014|Win32.ActiveCfg = Debug_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2014|x64.ActiveCfg = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2014|x64.Build.0 = Debug_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2015|Win32.ActiveCfg = Debug_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2015|x64.ActiveCfg = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2015|x64.Build.0 = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2016|Win32.ActiveCfg = Debug_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2016|x64.ActiveCfg = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.DebugPlugin2016|x64.Build.0 = Debug_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|Win32.ActiveCfg = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|Win32.Build.0 = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|x64.ActiveCfg = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2011|x64.Build.0 = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|Win32.ActiveCfg = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|Win32.Build.0 = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|x64.ActiveCfg = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2012|x64.Build.0 = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|Win32.ActiveCfg = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|Win32.Build.0 = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|x64.ActiveCfg = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2013|x64.Build.0 = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2014|Win32.ActiveCfg = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2014|x64.ActiveCfg = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2014|x64.Build.0 = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2015|Win32.ActiveCfg = Release_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2015|x64.ActiveCfg = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2015|x64.Build.0 = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2016|Win32.ActiveCfg = Release_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2016|x64.ActiveCfg = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleaseConsole2016|x64.Build.0 = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|Win32.ActiveCfg = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|Win32.Build.0 = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|x64.ActiveCfg = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2011|x64.Build.0 = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|Win32.ActiveCfg = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|Win32.Build.0 = Release_v90|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|x64.ActiveCfg = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2012|x64.Build.0 = Release_v90|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|Win32.ActiveCfg = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|Win32.Build.0 = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|x64.ActiveCfg = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2013|x64.Build.0 = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2014|Win32.ActiveCfg = Release_v100|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2014|x64.ActiveCfg = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2014|x64.Build.0 = Release_v100|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2015|Win32.ActiveCfg = Release_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2015|x64.ActiveCfg = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2015|x64.Build.0 = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2016|Win32.ActiveCfg = Release_v110|Win32 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2016|x64.ActiveCfg = Release_v110|x64 + {305C4DD6-E327-49B2-A14A-DBF7E06401D3}.ReleasePlugin2016|x64.Build.0 = Release_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2011|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2012|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|Win32.Build.0 = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2013|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2014|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2014|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2014|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2015|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2015|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2015|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2016|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2016|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugConsole2016|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2011|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|Win32.Build.0 = Debug_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|x64.ActiveCfg = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2012|x64.Build.0 = Debug_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|Win32.Build.0 = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2013|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2014|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2014|x64.ActiveCfg = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2014|x64.Build.0 = Debug_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2015|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2015|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2015|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2016|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2016|x64.ActiveCfg = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.DebugPlugin2016|x64.Build.0 = Debug_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2011|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2012|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|Win32.Build.0 = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2013|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2014|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2014|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2014|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2015|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2015|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2015|x64.Build.0 = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2016|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2016|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleaseConsole2016|x64.Build.0 = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2011|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|Win32.Build.0 = Release_lib_static_v90|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|x64.ActiveCfg = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2012|x64.Build.0 = Release_lib_static_v90|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|Win32.Build.0 = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2013|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2014|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2014|x64.ActiveCfg = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2014|x64.Build.0 = Release_lib_static_v100|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2015|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2015|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2015|x64.Build.0 = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2016|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2016|x64.ActiveCfg = Release_lib_static_v110|x64 + {D1D50DE5-1C1D-4322-B076-8B223A5984A4}.ReleasePlugin2016|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2011|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2012|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|Win32.Build.0 = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2013|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2014|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2014|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2014|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2015|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2015|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2015|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2016|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2016|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugConsole2016|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2011|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|Win32.ActiveCfg = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|Win32.Build.0 = Debug_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|x64.ActiveCfg = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2012|x64.Build.0 = Debug_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|Win32.Build.0 = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2013|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2014|Win32.ActiveCfg = Debug_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2014|x64.ActiveCfg = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2014|x64.Build.0 = Debug_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2015|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2015|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2015|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2016|Win32.ActiveCfg = Debug_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2016|x64.ActiveCfg = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.DebugPlugin2016|x64.Build.0 = Debug_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2011|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2012|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|Win32.Build.0 = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2013|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2014|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2014|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2014|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2015|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2015|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2015|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2016|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2016|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleaseConsole2016|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2011|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|Win32.ActiveCfg = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|Win32.Build.0 = Release_lib_static_v90|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|x64.ActiveCfg = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2012|x64.Build.0 = Release_lib_static_v90|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|Win32.Build.0 = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2013|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2014|Win32.ActiveCfg = Release_lib_static_v100|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2014|x64.ActiveCfg = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2014|x64.Build.0 = Release_lib_static_v100|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2015|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2015|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2015|x64.Build.0 = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2016|Win32.ActiveCfg = Release_lib_static_v110|Win32 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2016|x64.ActiveCfg = Release_lib_static_v110|x64 + {12BBEF01-C49C-4DE5-B9C9-8E5BD3F4B0AB}.ReleasePlugin2016|x64.Build.0 = Release_lib_static_v110|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj 2016-07-13 19:25:45.000000000 +0000 @@ -16,6 +16,34 @@ 24FFE6CD14A526A500D718C2 /* COLLADAFWInstanceKinematicsScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24FFE6CB14A5269600D718C2 /* COLLADAFWInstanceKinematicsScene.cpp */; }; 24FFE6D214A526D600D718C2 /* COLLADAFWHashFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 24FFE6CE14A526CF00D718C2 /* COLLADAFWHashFunctions.h */; }; 24FFE6D314A526D600D718C2 /* COLLADAFWInstanceKinematicsScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 24FFE6CF14A526CF00D718C2 /* COLLADAFWInstanceKinematicsScene.h */; }; + 870E79C91B17203600590717 /* COLLADAMayaPhysicsSceneExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 870E79C81B17203600590717 /* COLLADAMayaPhysicsSceneExporter.h */; }; + 870E79CB1B17204F00590717 /* COLLADAMayaPhysicsSceneExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 870E79CA1B17204F00590717 /* COLLADAMayaPhysicsSceneExporter.cpp */; }; + 871C5B3A1BCEC138008B84FF /* COLLADAMayaPhysXExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 871C5B391BCEC138008B84FF /* COLLADAMayaPhysXExporter.h */; }; + 871C5B3C1BCEC149008B84FF /* COLLADAMayaPhysXExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 871C5B3B1BCEC149008B84FF /* COLLADAMayaPhysXExporter.cpp */; }; + 873516D81AC99C0A009300AC /* COLLADAMayaShaderFXShaderExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 873516D71AC99C0A009300AC /* COLLADAMayaShaderFXShaderExporter.cpp */; }; + 8776CF011AC9975C00032EE7 /* COLLADAMayaShaderFXShaderExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8776CF001AC9975C00032EE7 /* COLLADAMayaShaderFXShaderExporter.h */; }; + 879D18E01AE8070F005C246C /* COLLADAMayaAttributeParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 879D18DF1AE8070F005C246C /* COLLADAMayaAttributeParser.h */; }; + 879D18E21AE8071E005C246C /* COLLADAMayaAttributeParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 879D18E11AE8071E005C246C /* COLLADAMayaAttributeParser.cpp */; }; + 87D7EAFB1B0E979B000436DA /* COLLADAMayaLightProbeExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 87D7EAFA1B0E979B000436DA /* COLLADAMayaLightProbeExporter.h */; }; + 87D7EAFD1B0E97A9000436DA /* COLLADAMayaLightProbeExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87D7EAFC1B0E97A9000436DA /* COLLADAMayaLightProbeExporter.cpp */; }; + 87E0A7BC1BFA55BD00FA6AF2 /* COLLADAMayaPhysXXML.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E0A7BB1BFA55BD00FA6AF2 /* COLLADAMayaPhysXXML.cpp */; }; + 87E0A7BE1BFA55CF00FA6AF2 /* COLLADAMayaPhysXXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 87E0A7BD1BFA55CF00FA6AF2 /* COLLADAMayaPhysXXML.h */; }; + 95133F521AA8B986003AC4E2 /* COLLADAMayaPhysicsExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 95133F501AA8B986003AC4E2 /* COLLADAMayaPhysicsExporter.h */; }; + 95133F561AA8B9B4003AC4E2 /* COLLADAMayaPhysicsExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95133F541AA8B9B4003AC4E2 /* COLLADAMayaPhysicsExporter.cpp */; }; + 95133F5B1AA8BA37003AC4E2 /* COLLADASWInstancePhysicsModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 95133F571AA8BA37003AC4E2 /* COLLADASWInstancePhysicsModel.h */; }; + 95133F5C1AA8BA37003AC4E2 /* COLLADASWInstanceRigidBody.h in Headers */ = {isa = PBXBuildFile; fileRef = 95133F581AA8BA37003AC4E2 /* COLLADASWInstanceRigidBody.h */; }; + 95133F5D1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 95133F591AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsModels.h */; }; + 95133F5E1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsScenes.h in Headers */ = {isa = PBXBuildFile; fileRef = 95133F5A1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsScenes.h */; }; + 95133F631AA8BA51003AC4E2 /* COLLADASWInstancePhysicsModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95133F5F1AA8BA51003AC4E2 /* COLLADASWInstancePhysicsModel.cpp */; }; + 95133F641AA8BA51003AC4E2 /* COLLADASWInstanceRigidBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95133F601AA8BA51003AC4E2 /* COLLADASWInstanceRigidBody.cpp */; }; + 95133F651AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsModels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95133F611AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsModels.cpp */; }; + 95133F661AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsScenes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95133F621AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsScenes.cpp */; }; + 9526B2551CABD54B00373794 /* COLLADABUVersionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9526B2541CABD54B00373794 /* COLLADABUVersionInfo.h */; }; + 95AF1A811CCFC236009B9B7D /* COLLADAMayaLODExporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 95AF1A801CCFC236009B9B7D /* COLLADAMayaLODExporter.h */; }; + 95AF1A831CCFC257009B9B7D /* COLLADAMayaLODExporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95AF1A821CCFC257009B9B7D /* COLLADAMayaLODExporter.cpp */; }; + 95AF1A851CCFC30C009B9B7D /* COLLADASWLibraryNodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 95AF1A841CCFC30C009B9B7D /* COLLADASWLibraryNodes.h */; }; + 95AF1A871CCFC32A009B9B7D /* COLLADASWLibraryNodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95AF1A861CCFC32A009B9B7D /* COLLADASWLibraryNodes.cpp */; }; + A5155E1619F795D800D5D4DC /* COLLADAMaya.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2AAC09D05546B4700DB518D /* COLLADAMaya.bundle */; }; CE0B3D8A0F56AF48004F8570 /* COLLADASWAsset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE0B3D570F56AF48004F8570 /* COLLADASWAsset.cpp */; }; CE0B3D8B0F56AF48004F8570 /* COLLADASWBaseElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE0B3D580F56AF48004F8570 /* COLLADASWBaseElement.cpp */; }; CE0B3D8C0F56AF48004F8570 /* COLLADASWBaseInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE0B3D590F56AF48004F8570 /* COLLADASWBaseInputElement.cpp */; }; @@ -323,7 +351,6 @@ CE3E66A10FD54BD4003D1AD2 /* COLLADAFWMorphController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE3E66A00FD54BD4003D1AD2 /* COLLADAFWMorphController.h */; }; CE3E66A30FD54BEA003D1AD2 /* COLLADAFWMorphController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE3E66A20FD54BEA003D1AD2 /* COLLADAFWMorphController.cpp */; }; CE3E66B60FD54FA7003D1AD2 /* COLLADAFWSkinController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE784F2F0FB5AAC100F2F8D6 /* COLLADAFWSkinController.cpp */; }; - CE4A34C90F98E47A00E32945 /* COLLADAMayaVersionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4A34C80F98E47A00E32945 /* COLLADAMayaVersionInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; CE55B8AE1701A4080038F432 /* COLLADAFWPolylist.h in Headers */ = {isa = PBXBuildFile; fileRef = CE55B8AD1701A4080038F432 /* COLLADAFWPolylist.h */; }; CE615FD81020DC3D00481492 /* MathMLASTArithmeticExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = CE79D1281020BD9A00A3A027 /* MathMLASTArithmeticExpression.h */; }; CE615FD91020DC3D00481492 /* MathMLASTBinaryComparisionExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = CE79D1291020BD9A00A3A027 /* MathMLASTBinaryComparisionExpression.h */; }; @@ -894,6 +921,19 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + A5155E1519F7959800D5D4DC /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "$(PROJECT_DIR)/Build/$(CONFIGURATION)"; + dstSubfolderSpec = 0; + files = ( + A5155E1619F795D800D5D4DC /* COLLADAMaya.bundle in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 24FFE6B914A5235300D718C2 /* DAE2MAExtraDataCallbackHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DAE2MAExtraDataCallbackHandler.cpp; path = ../dae2ma/src/DAE2MAExtraDataCallbackHandler.cpp; sourceTree = ""; }; 24FFE6BC14A523D100D718C2 /* DAE2MAExtraDataCallbackHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DAE2MAExtraDataCallbackHandler.h; path = ../dae2ma/include/DAE2MAExtraDataCallbackHandler.h; sourceTree = ""; }; @@ -904,6 +944,33 @@ 24FFE6CB14A5269600D718C2 /* COLLADAFWInstanceKinematicsScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAFWInstanceKinematicsScene.cpp; path = ../COLLADAFramework/src/COLLADAFWInstanceKinematicsScene.cpp; sourceTree = ""; }; 24FFE6CE14A526CF00D718C2 /* COLLADAFWHashFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAFWHashFunctions.h; path = ../COLLADAFramework/include/COLLADAFWHashFunctions.h; sourceTree = ""; }; 24FFE6CF14A526CF00D718C2 /* COLLADAFWInstanceKinematicsScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAFWInstanceKinematicsScene.h; path = ../COLLADAFramework/include/COLLADAFWInstanceKinematicsScene.h; sourceTree = ""; }; + 870E79C81B17203600590717 /* COLLADAMayaPhysicsSceneExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaPhysicsSceneExporter.h; path = include/COLLADAMayaPhysicsSceneExporter.h; sourceTree = ""; }; + 870E79CA1B17204F00590717 /* COLLADAMayaPhysicsSceneExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaPhysicsSceneExporter.cpp; path = src/COLLADAMayaPhysicsSceneExporter.cpp; sourceTree = ""; }; + 871C5B391BCEC138008B84FF /* COLLADAMayaPhysXExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaPhysXExporter.h; path = include/COLLADAMayaPhysXExporter.h; sourceTree = ""; }; + 871C5B3B1BCEC149008B84FF /* COLLADAMayaPhysXExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaPhysXExporter.cpp; path = src/COLLADAMayaPhysXExporter.cpp; sourceTree = ""; }; + 873516D71AC99C0A009300AC /* COLLADAMayaShaderFXShaderExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaShaderFXShaderExporter.cpp; path = src/COLLADAMayaShaderFXShaderExporter.cpp; sourceTree = ""; }; + 8776CF001AC9975C00032EE7 /* COLLADAMayaShaderFXShaderExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaShaderFXShaderExporter.h; path = include/COLLADAMayaShaderFXShaderExporter.h; sourceTree = ""; }; + 879D18DF1AE8070F005C246C /* COLLADAMayaAttributeParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaAttributeParser.h; path = include/COLLADAMayaAttributeParser.h; sourceTree = ""; }; + 879D18E11AE8071E005C246C /* COLLADAMayaAttributeParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaAttributeParser.cpp; path = src/COLLADAMayaAttributeParser.cpp; sourceTree = ""; }; + 87D7EAFA1B0E979B000436DA /* COLLADAMayaLightProbeExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaLightProbeExporter.h; path = include/COLLADAMayaLightProbeExporter.h; sourceTree = ""; }; + 87D7EAFC1B0E97A9000436DA /* COLLADAMayaLightProbeExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaLightProbeExporter.cpp; path = src/COLLADAMayaLightProbeExporter.cpp; sourceTree = ""; }; + 87E0A7BB1BFA55BD00FA6AF2 /* COLLADAMayaPhysXXML.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaPhysXXML.cpp; path = src/COLLADAMayaPhysXXML.cpp; sourceTree = ""; }; + 87E0A7BD1BFA55CF00FA6AF2 /* COLLADAMayaPhysXXML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaPhysXXML.h; path = include/COLLADAMayaPhysXXML.h; sourceTree = ""; }; + 95133F501AA8B986003AC4E2 /* COLLADAMayaPhysicsExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaPhysicsExporter.h; path = include/COLLADAMayaPhysicsExporter.h; sourceTree = ""; }; + 95133F541AA8B9B4003AC4E2 /* COLLADAMayaPhysicsExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaPhysicsExporter.cpp; path = src/COLLADAMayaPhysicsExporter.cpp; sourceTree = ""; }; + 95133F571AA8BA37003AC4E2 /* COLLADASWInstancePhysicsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADASWInstancePhysicsModel.h; path = ../COLLADAStreamWriter/include/COLLADASWInstancePhysicsModel.h; sourceTree = ""; }; + 95133F581AA8BA37003AC4E2 /* COLLADASWInstanceRigidBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADASWInstanceRigidBody.h; path = ../COLLADAStreamWriter/include/COLLADASWInstanceRigidBody.h; sourceTree = ""; }; + 95133F591AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADASWLibraryPhysicsModels.h; path = ../COLLADAStreamWriter/include/COLLADASWLibraryPhysicsModels.h; sourceTree = ""; }; + 95133F5A1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsScenes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADASWLibraryPhysicsScenes.h; path = ../COLLADAStreamWriter/include/COLLADASWLibraryPhysicsScenes.h; sourceTree = ""; }; + 95133F5F1AA8BA51003AC4E2 /* COLLADASWInstancePhysicsModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWInstancePhysicsModel.cpp; path = ../COLLADAStreamWriter/src/COLLADASWInstancePhysicsModel.cpp; sourceTree = ""; }; + 95133F601AA8BA51003AC4E2 /* COLLADASWInstanceRigidBody.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWInstanceRigidBody.cpp; path = ../COLLADAStreamWriter/src/COLLADASWInstanceRigidBody.cpp; sourceTree = ""; }; + 95133F611AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsModels.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWLibraryPhysicsModels.cpp; path = ../COLLADAStreamWriter/src/COLLADASWLibraryPhysicsModels.cpp; sourceTree = ""; }; + 95133F621AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsScenes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWLibraryPhysicsScenes.cpp; path = ../COLLADAStreamWriter/src/COLLADASWLibraryPhysicsScenes.cpp; sourceTree = ""; }; + 9526B2541CABD54B00373794 /* COLLADABUVersionInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADABUVersionInfo.h; path = ../COLLADABaseUtils/include/COLLADABUVersionInfo.h; sourceTree = ""; }; + 95AF1A801CCFC236009B9B7D /* COLLADAMayaLODExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaLODExporter.h; path = include/COLLADAMayaLODExporter.h; sourceTree = ""; }; + 95AF1A821CCFC257009B9B7D /* COLLADAMayaLODExporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAMayaLODExporter.cpp; path = src/COLLADAMayaLODExporter.cpp; sourceTree = ""; }; + 95AF1A841CCFC30C009B9B7D /* COLLADASWLibraryNodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADASWLibraryNodes.h; path = ../COLLADAStreamWriter/include/COLLADASWLibraryNodes.h; sourceTree = ""; }; + 95AF1A861CCFC32A009B9B7D /* COLLADASWLibraryNodes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWLibraryNodes.cpp; path = ../COLLADAStreamWriter/src/COLLADASWLibraryNodes.cpp; sourceTree = ""; }; CE0B3D570F56AF48004F8570 /* COLLADASWAsset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWAsset.cpp; path = ../COLLADAStreamWriter/src/COLLADASWAsset.cpp; sourceTree = SOURCE_ROOT; }; CE0B3D580F56AF48004F8570 /* COLLADASWBaseElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWBaseElement.cpp; path = ../COLLADAStreamWriter/src/COLLADASWBaseElement.cpp; sourceTree = SOURCE_ROOT; }; CE0B3D590F56AF48004F8570 /* COLLADASWBaseInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADASWBaseInputElement.cpp; path = ../COLLADAStreamWriter/src/COLLADASWBaseInputElement.cpp; sourceTree = SOURCE_ROOT; }; @@ -1212,7 +1279,6 @@ CE3E668E0FD54A76003D1AD2 /* pcre_try_flipped.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_try_flipped.c; path = ../Externals/pcre/src/pcre_try_flipped.c; sourceTree = SOURCE_ROOT; }; CE3E66A00FD54BD4003D1AD2 /* COLLADAFWMorphController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAFWMorphController.h; path = ../COLLADAFramework/include/COLLADAFWMorphController.h; sourceTree = SOURCE_ROOT; }; CE3E66A20FD54BEA003D1AD2 /* COLLADAFWMorphController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = COLLADAFWMorphController.cpp; path = ../COLLADAFramework/src/COLLADAFWMorphController.cpp; sourceTree = SOURCE_ROOT; }; - CE4A34C80F98E47A00E32945 /* COLLADAMayaVersionInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAMayaVersionInfo.h; path = include/COLLADAMayaVersionInfo.h; sourceTree = ""; }; CE55B8AD1701A4080038F432 /* COLLADAFWPolylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = COLLADAFWPolylist.h; path = ../COLLADAFramework/include/COLLADAFWPolylist.h; sourceTree = ""; }; CE6095210E93CD6B007F776B /* libCOLLADAStreamWriter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCOLLADAStreamWriter.a; sourceTree = BUILT_PRODUCTS_DIR; }; CE615FD01020DBF500481492 /* libMathMLSolver.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMathMLSolver.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1883,16 +1949,11 @@ CE22731E104D1DF900C4F29B /* COLLADASaxFWLColladaParserAutoGen14FunctionMapFactory.h */, CE22731F104D1DF900C4F29B /* COLLADASaxFWLColladaParserAutoGen14Private.h */, CE227320104D1DF900C4F29B /* COLLADASaxFWLColladaParserAutoGen14ValidationData.h */, - CE227321104D1DF900C4F29B /* COLLADASaxFWLGeometryLoader14.h */, CE7820FD0FF112F000A767EA /* COLLADASaxFWLIParserImpl14.h */, CE7820AF0FF112A800A767EA /* COLLADASaxFWLLibraryAnimationsLoader14.h */, - CE227323104D1DF900C4F29B /* COLLADASaxFWLLibraryCamerasLoader14.h */, CE7820B10FF112A800A767EA /* COLLADASaxFWLLibraryControllersLoader14.h */, - CE227325104D1DF900C4F29B /* COLLADASaxFWLLibraryEffectsLoader14.h */, CE7820B30FF112A800A767EA /* COLLADASaxFWLLibraryImagesLoader14.h */, - CE227327104D1DF900C4F29B /* COLLADASaxFWLLibraryLightsLoader14.h */, CE7820B50FF112A800A767EA /* COLLADASaxFWLLibraryMaterialsLoader14.h */, - CE227329104D1DF900C4F29B /* COLLADASaxFWLLibraryNodesLoader14.h */, CE7820B70FF112A800A767EA /* COLLADASaxFWLMeshLoader14.h */, CE22731A104D1DF800C4F29B /* COLLADASaxFWLAssetLoader14.h */, CE7820B80FF112A800A767EA /* COLLADASaxFWLNodeLoader14.h */, @@ -2330,6 +2391,13 @@ CE72910410AC800500AE5662 /* source */ = { isa = PBXGroup; children = ( + 95AF1A821CCFC257009B9B7D /* COLLADAMayaLODExporter.cpp */, + 87E0A7BB1BFA55BD00FA6AF2 /* COLLADAMayaPhysXXML.cpp */, + 871C5B3B1BCEC149008B84FF /* COLLADAMayaPhysXExporter.cpp */, + 870E79CA1B17204F00590717 /* COLLADAMayaPhysicsSceneExporter.cpp */, + 87D7EAFC1B0E97A9000436DA /* COLLADAMayaLightProbeExporter.cpp */, + 879D18E11AE8071E005C246C /* COLLADAMayaAttributeParser.cpp */, + 95133F541AA8B9B4003AC4E2 /* COLLADAMayaPhysicsExporter.cpp */, CE72914610ACA1F800AE5662 /* COLLADAMayaAnimationClipExporter.cpp */, CE72914710ACA1F800AE5662 /* COLLADAMayaAnimationCurves.cpp */, CE72914810ACA1F800AE5662 /* COLLADAMayaAnimationElement.cpp */, @@ -2360,6 +2428,7 @@ CE72916210ACA1F800AE5662 /* COLLADAMayaSceneElement.cpp */, CE72916310ACA1F800AE5662 /* COLLADAMayaSceneGraph.cpp */, CE72916410ACA1F800AE5662 /* COLLADAMayaSetHelper.cpp */, + 873516D71AC99C0A009300AC /* COLLADAMayaShaderFXShaderExporter.cpp */, CE72916510ACA1F800AE5662 /* COLLADAMayaShaderHelper.cpp */, CE72916610ACA1F800AE5662 /* COLLADAMayaSourceInput.cpp */, CE72916710ACA1F800AE5662 /* COLLADAMayaVisualSceneExporter.cpp */, @@ -2370,6 +2439,14 @@ CE72910510AC800C00AE5662 /* include */ = { isa = PBXGroup; children = ( + 95AF1A801CCFC236009B9B7D /* COLLADAMayaLODExporter.h */, + 9526B2541CABD54B00373794 /* COLLADABUVersionInfo.h */, + 87E0A7BD1BFA55CF00FA6AF2 /* COLLADAMayaPhysXXML.h */, + 871C5B391BCEC138008B84FF /* COLLADAMayaPhysXExporter.h */, + 870E79C81B17203600590717 /* COLLADAMayaPhysicsSceneExporter.h */, + 87D7EAFA1B0E979B000436DA /* COLLADAMayaLightProbeExporter.h */, + 879D18DF1AE8070F005C246C /* COLLADAMayaAttributeParser.h */, + 95133F501AA8B986003AC4E2 /* COLLADAMayaPhysicsExporter.h */, CE0B3E9C0F56AFD8004F8570 /* COLLADAMayaAnimationClipExporter.h */, CE0B3E9D0F56AFD8004F8570 /* COLLADAMayaAnimationCurves.h */, CE0B3E9E0F56AFD8004F8570 /* COLLADAMayaAnimationElement.h */, @@ -2395,8 +2472,8 @@ CE0B3EB90F56AFD8004F8570 /* COLLADAMayaImageExporter.h */, CE0B3EBB0F56AFD8004F8570 /* COLLADAMayaImportOptions.h */, CE0B3EBC0F56AFD8004F8570 /* COLLADAMayaLightExporter.h */, - CE0B3EBE0F56AFD8004F8570 /* COLLADAMayaMaterialExporter.h */, CE7D40120FF1308D00849CFA /* COLLADAMayaMayaTransform.h */, + CE0B3EBE0F56AFD8004F8570 /* COLLADAMayaMaterialExporter.h */, CE0B3EC10F56AFD8004F8570 /* COLLADAMayaMorphController.h */, CE0B3EC30F56AFD8004F8570 /* COLLADAMayaPlatform.h */, CE0B3EC40F56AFD8004F8570 /* COLLADAMayaPolygonSource.h */, @@ -2406,13 +2483,13 @@ CE0B3EC90F56AFD8004F8570 /* COLLADAMayaSceneElement.h */, CE0B3ECA0F56AFD8004F8570 /* COLLADAMayaSceneGraph.h */, CE0B3ECB0F56AFD8004F8570 /* COLLADAMayaSetHelper.h */, + 8776CF001AC9975C00032EE7 /* COLLADAMayaShaderFXShaderExporter.h */, CE0B3ECC0F56AFD8004F8570 /* COLLADAMayaShaderHelper.h */, CE0B3ECE0F56AFD8004F8570 /* COLLADAMayaSkinController.h */, CE0B3ECF0F56AFD8004F8570 /* COLLADAMayaSourceInput.h */, CE0B3ED00F56AFD8004F8570 /* COLLADAMayaStableHeaders.h */, CE0B3ED10F56AFD8004F8570 /* COLLADAMayaSyntax.h */, CE0B3ED20F56AFD8004F8570 /* COLLADAMayaTangentPoint.h */, - CE4A34C80F98E47A00E32945 /* COLLADAMayaVersionInfo.h */, CE0B3ED30F56AFD8004F8570 /* COLLADAMayaVisualSceneExporter.h */, ); name = include; @@ -2498,6 +2575,11 @@ CE72910D10AC81C700AE5662 /* source */ = { isa = PBXGroup; children = ( + 95AF1A861CCFC32A009B9B7D /* COLLADASWLibraryNodes.cpp */, + 95133F5F1AA8BA51003AC4E2 /* COLLADASWInstancePhysicsModel.cpp */, + 95133F601AA8BA51003AC4E2 /* COLLADASWInstanceRigidBody.cpp */, + 95133F611AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsModels.cpp */, + 95133F621AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsScenes.cpp */, CE792B9C10BD4FE400430A67 /* COLLADASWControlVertices.cpp */, CE0B3D570F56AF48004F8570 /* COLLADASWAsset.cpp */, CE0B3D580F56AF48004F8570 /* COLLADASWBaseElement.cpp */, @@ -2556,6 +2638,11 @@ CE72910E10AC81CE00AE5662 /* include */ = { isa = PBXGroup; children = ( + 95AF1A841CCFC30C009B9B7D /* COLLADASWLibraryNodes.h */, + 95133F571AA8BA37003AC4E2 /* COLLADASWInstancePhysicsModel.h */, + 95133F581AA8BA37003AC4E2 /* COLLADASWInstanceRigidBody.h */, + 95133F591AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsModels.h */, + 95133F5A1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsScenes.h */, CE792B9810BD4FC800430A67 /* COLLADASWControlVertices.h */, CE0B3DBD0F56AF81004F8570 /* COLLADASWAnnotation.h */, CE0B3DBE0F56AF81004F8570 /* COLLADASWAsset.h */, @@ -3377,6 +3464,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 95AF1A811CCFC236009B9B7D /* COLLADAMayaLODExporter.h in Headers */, CE0B3ED50F56AFD8004F8570 /* COLLADAMayaAnimationClipExporter.h in Headers */, CE0B3ED60F56AFD8004F8570 /* COLLADAMayaAnimationCurves.h in Headers */, CE0B3ED70F56AFD8004F8570 /* COLLADAMayaAnimationElement.h in Headers */, @@ -3388,19 +3476,26 @@ CE0B3EDD0F56AFD8004F8570 /* COLLADAMayaBaseController.h in Headers */, CE0B3EDF0F56AFD8004F8570 /* COLLADAMayaCameraExporter.h in Headers */, CE0B3EE10F56AFD8004F8570 /* COLLADAMayaControllerExporter.h in Headers */, + 870E79C91B17203600590717 /* COLLADAMayaPhysicsSceneExporter.h in Headers */, CE0B3EE20F56AFD8004F8570 /* COLLADAMayaConversion.h in Headers */, CE0B3EE40F56AFD8004F8570 /* COLLADAMayaDagHelper.h in Headers */, CE0B3EE50F56AFD8004F8570 /* COLLADAMayaDocumentExporter.h in Headers */, + 8776CF011AC9975C00032EE7 /* COLLADAMayaShaderFXShaderExporter.h in Headers */, CE0B3EE70F56AFD8004F8570 /* COLLADAMayaEffectExporter.h in Headers */, CE0B3EE90F56AFD8004F8570 /* COLLADAMayaEffectTextureExporter.h in Headers */, CE0B3EEB0F56AFD8004F8570 /* COLLADAMayaExportOptions.h in Headers */, CE0B3EEC0F56AFD8004F8570 /* COLLADAMayaFileTranslator.h in Headers */, + 95133F5E1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsScenes.h in Headers */, + 9526B2551CABD54B00373794 /* COLLADABUVersionInfo.h in Headers */, CE0B3EEE0F56AFD8004F8570 /* COLLADAMayaGeometryExporter.h in Headers */, CE0B3EF00F56AFD8004F8570 /* COLLADAMayaGeometryPolygonExporter.h in Headers */, CE0B3EF10F56AFD8004F8570 /* COLLADAMayaHwShaderExporter.h in Headers */, + 87E0A7BE1BFA55CF00FA6AF2 /* COLLADAMayaPhysXXML.h in Headers */, CE0B3EF20F56AFD8004F8570 /* COLLADAMayaImageExporter.h in Headers */, CE0B3EF40F56AFD8004F8570 /* COLLADAMayaImportOptions.h in Headers */, CE0B3EF50F56AFD8004F8570 /* COLLADAMayaLightExporter.h in Headers */, + 95133F5B1AA8BA37003AC4E2 /* COLLADASWInstancePhysicsModel.h in Headers */, + 87D7EAFB1B0E979B000436DA /* COLLADAMayaLightProbeExporter.h in Headers */, CE0B3EF70F56AFD8004F8570 /* COLLADAMayaMaterialExporter.h in Headers */, CE0B3EFA0F56AFD8004F8570 /* COLLADAMayaMorphController.h in Headers */, CE0B3EFC0F56AFD8004F8570 /* COLLADAMayaPlatform.h in Headers */, @@ -3410,17 +3505,22 @@ CE0B3F000F56AFD8004F8570 /* COLLADAMayaRotateHelper.h in Headers */, CE0B3F020F56AFD8004F8570 /* COLLADAMayaSceneElement.h in Headers */, CE0B3F030F56AFD8004F8570 /* COLLADAMayaSceneGraph.h in Headers */, + 95AF1A851CCFC30C009B9B7D /* COLLADASWLibraryNodes.h in Headers */, CE0B3F040F56AFD8004F8570 /* COLLADAMayaSetHelper.h in Headers */, CE0B3F050F56AFD8004F8570 /* COLLADAMayaShaderHelper.h in Headers */, CE0B3F070F56AFD8004F8570 /* COLLADAMayaSkinController.h in Headers */, CE0B3F080F56AFD8004F8570 /* COLLADAMayaSourceInput.h in Headers */, CE0B3F090F56AFD8004F8570 /* COLLADAMayaStableHeaders.h in Headers */, CE0B3F0A0F56AFD8004F8570 /* COLLADAMayaSyntax.h in Headers */, + 871C5B3A1BCEC138008B84FF /* COLLADAMayaPhysXExporter.h in Headers */, CE0B3F0B0F56AFD8004F8570 /* COLLADAMayaTangentPoint.h in Headers */, CE0B3F0C0F56AFD8004F8570 /* COLLADAMayaVisualSceneExporter.h in Headers */, - CE4A34C90F98E47A00E32945 /* COLLADAMayaVersionInfo.h in Headers */, + 879D18E01AE8070F005C246C /* COLLADAMayaAttributeParser.h in Headers */, + 95133F5D1AA8BA37003AC4E2 /* COLLADASWLibraryPhysicsModels.h in Headers */, CE7D40150FF1308D00849CFA /* COLLADAMayaBaseAnimation.h in Headers */, + 95133F521AA8B986003AC4E2 /* COLLADAMayaPhysicsExporter.h in Headers */, CE7D40160FF1308E00849CFA /* COLLADAMayaMayaTransform.h in Headers */, + 95133F5C1AA8BA37003AC4E2 /* COLLADASWInstanceRigidBody.h in Headers */, CE55B8AE1701A4080038F432 /* COLLADAFWPolylist.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -3610,10 +3710,10 @@ isa = PBXNativeTarget; buildConfigurationList = 1DEB916008733D950010E9CD /* Build configuration list for PBXNativeTarget "COLLADAMaya" */; buildPhases = ( - CEDCFD690F9C6C90008271C2 /* ShellScript */, D2AAC09905546B4700DB518D /* Headers */, D2AAC09B05546B4700DB518D /* Frameworks */, D2AAC09A05546B4700DB518D /* Sources */, + A5155E1519F7959800D5D4DC /* CopyFiles */, ); buildRules = ( ); @@ -3669,22 +3769,6 @@ }; /* End PBXProject section */ -/* Begin PBXShellScriptBuildPhase section */ - CEDCFD690F9C6C90008271C2 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = ./generateVersionHeader.sh; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ CE0B3F4D0F56B194004F8570 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -4038,38 +4122,51 @@ buildActionMask = 2147483647; files = ( CE72916810ACA1F800AE5662 /* COLLADAMayaAnimationClipExporter.cpp in Sources */, + 95AF1A831CCFC257009B9B7D /* COLLADAMayaLODExporter.cpp in Sources */, CE72916910ACA1F800AE5662 /* COLLADAMayaAnimationCurves.cpp in Sources */, CE72916A10ACA1F800AE5662 /* COLLADAMayaAnimationElement.cpp in Sources */, CE72916B10ACA1F800AE5662 /* COLLADAMayaAnimationExporter.cpp in Sources */, CE72916C10ACA1F800AE5662 /* COLLADAMayaAnimationHelper.cpp in Sources */, + 95133F651AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsModels.cpp in Sources */, CE72916D10ACA1F800AE5662 /* COLLADAMayaAnimationKeys.cpp in Sources */, CE72916E10ACA1F800AE5662 /* COLLADAMayaAnimationSampleCache.cpp in Sources */, CE72916F10ACA1F800AE5662 /* COLLADAMayaAnimationTools.cpp in Sources */, + 95133F641AA8BA51003AC4E2 /* COLLADASWInstanceRigidBody.cpp in Sources */, CE72917010ACA1F800AE5662 /* COLLADAMayaCameraExporter.cpp in Sources */, CE72917110ACA1F800AE5662 /* COLLADAMayaCgfxShaderIncludes.cpp in Sources */, CE72917310ACA1F800AE5662 /* COLLADAMayaControllerExporter.cpp in Sources */, CE72917410ACA1F800AE5662 /* COLLADAMayaDagHelper.cpp in Sources */, CE72917510ACA1F800AE5662 /* COLLADAMayaDocumentExporter.cpp in Sources */, CE72917610ACA1F800AE5662 /* COLLADAMayaEffectExporter.cpp in Sources */, + 870E79CB1B17204F00590717 /* COLLADAMayaPhysicsSceneExporter.cpp in Sources */, CE72917710ACA1F800AE5662 /* COLLADAMayaEffectTextureExporter.cpp in Sources */, CE72917810ACA1F800AE5662 /* COLLADAMayaExportOptions.cpp in Sources */, + 87D7EAFD1B0E97A9000436DA /* COLLADAMayaLightProbeExporter.cpp in Sources */, CE72917910ACA1F800AE5662 /* COLLADAMayaFileTranslator.cpp in Sources */, + 871C5B3C1BCEC149008B84FF /* COLLADAMayaPhysXExporter.cpp in Sources */, CE72917A10ACA1F800AE5662 /* COLLADAMayaGeometryExporter.cpp in Sources */, CE72917B10ACA1F800AE5662 /* COLLADAMayaGeometryPolygonExporter.cpp in Sources */, CE72917C10ACA1F800AE5662 /* COLLADAMayaHwShaderExporter.cpp in Sources */, CE72917D10ACA1F800AE5662 /* COLLADAMayaImageExporter.cpp in Sources */, CE72917E10ACA1F800AE5662 /* COLLADAMayaImportOptions.cpp in Sources */, + 95133F661AA8BA51003AC4E2 /* COLLADASWLibraryPhysicsScenes.cpp in Sources */, CE72917F10ACA1F800AE5662 /* COLLADAMayaLightExporter.cpp in Sources */, CE72918010ACA1F800AE5662 /* COLLADAMayaMaterialExporter.cpp in Sources */, + 879D18E21AE8071E005C246C /* COLLADAMayaAttributeParser.cpp in Sources */, CE72918110ACA1F800AE5662 /* COLLADAMayaPrecompiledHeaders.cpp in Sources */, CE72918210ACA1F800AE5662 /* COLLADAMayaReferenceManager.cpp in Sources */, + 87E0A7BC1BFA55BD00FA6AF2 /* COLLADAMayaPhysXXML.cpp in Sources */, CE72918310ACA1F800AE5662 /* COLLADAMayaRotateHelper.cpp in Sources */, CE72918410ACA1F800AE5662 /* COLLADAMayaSceneElement.cpp in Sources */, CE72918510ACA1F800AE5662 /* COLLADAMayaSceneGraph.cpp in Sources */, CE72918610ACA1F800AE5662 /* COLLADAMayaSetHelper.cpp in Sources */, + 95133F631AA8BA51003AC4E2 /* COLLADASWInstancePhysicsModel.cpp in Sources */, CE72918710ACA1F800AE5662 /* COLLADAMayaShaderHelper.cpp in Sources */, + 873516D81AC99C0A009300AC /* COLLADAMayaShaderFXShaderExporter.cpp in Sources */, CE72918810ACA1F800AE5662 /* COLLADAMayaSourceInput.cpp in Sources */, CE72918910ACA1F800AE5662 /* COLLADAMayaVisualSceneExporter.cpp in Sources */, + 95AF1A871CCFC32A009B9B7D /* COLLADASWLibraryNodes.cpp in Sources */, + 95133F561AA8B9B4003AC4E2 /* COLLADAMayaPhysicsExporter.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4192,16 +4289,13 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2008/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -4221,8 +4315,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -4253,16 +4345,13 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2008/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -4282,8 +4371,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -4301,7 +4388,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2008; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2008"; @@ -4313,7 +4402,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2008; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2008"; @@ -4325,7 +4416,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2012; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2012"; @@ -4352,16 +4445,13 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2012/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -4381,8 +4471,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -4525,19 +4613,21 @@ }; name = "Release 2012"; }; - A3ED9FE417A63E660036CBBF /* Debug 2014 */ = { + 323857BF1B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; - MAYA_PATH = /Applications/Autodesk/maya2014; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2015; + New_Setting = ""; + SDKROOT = macosx10.9; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FE517A63E660036CBBF /* Debug 2014 */ = { + 323857C01B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4561,18 +4651,16 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", "$(MAYA_PATH)/devkit/plug-ins/cgFx", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2014/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; + MAYA_PATH = /Applications/Autodesk/maya2015; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", "-lOpenMaya", @@ -4591,17 +4679,15 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, ); PRODUCT_NAME = COLLADAMaya; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FE617A63E660036CBBF /* Debug 2014 */ = { + 323857C11B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4613,9 +4699,9 @@ HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; PRODUCT_NAME = COLLADAStreamWriter; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FE717A63E660036CBBF /* Debug 2014 */ = { + 323857C21B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4631,27 +4717,27 @@ INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = COLLADABaseUtils; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FE817A63E660036CBBF /* Debug 2014 */ = { + 323857C31B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; HEADER_SEARCH_PATHS = /usr/include/libxml2; PRODUCT_NAME = GeneratedSaxParser; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FE917A63E660036CBBF /* Debug 2014 */ = { + 323857C41B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; PRODUCT_NAME = COLLADAFramework; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FEA17A63E660036CBBF /* Debug 2014 */ = { + 323857C51B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4667,33 +4753,33 @@ ); PRODUCT_NAME = COLLADASaxFrameworkLoader; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FEB17A63E660036CBBF /* Debug 2014 */ = { + 323857C61B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = pcre; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FEC17A63E660036CBBF /* Debug 2014 */ = { + 323857C71B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = MathMLSolver; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FED17A63E660036CBBF /* Debug 2014 */ = { + 323857C81B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = libftoa; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FEE17A63E660036CBBF /* Debug 2014 */ = { + 323857C91B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4703,9 +4789,9 @@ ); PRODUCT_NAME = libBuffer; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FEF17A63E660036CBBF /* Debug 2014 */ = { + 323857CA1B09C04000571BB2 /* Debug 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4721,21 +4807,23 @@ ); PRODUCT_NAME = dae2ma; }; - name = "Debug 2014"; + name = "Debug 2016"; }; - A3ED9FF017A63E6F0036CBBF /* Release 2014 */ = { + 323857CB1B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; - MAYA_PATH = /Applications/Autodesk/maya2014; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2016; + New_Setting = ""; + SDKROOT = macosx10.9; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF117A63E6F0036CBBF /* Release 2014 */ = { + 323857CC1B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4757,17 +4845,14 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", "$(MAYA_PATH)/devkit/plug-ins/cgFx", ); - INSTALL_PATH = "/Users/Shared/Autodesk/maya/2014/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + INSTALL_PATH = "/Users/Shared/Autodesk/maya/2015/plug-ins"; + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -4787,8 +4872,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -4797,9 +4880,9 @@ STRIP_INSTALLED_PRODUCT = YES; STRIP_STYLE = "non-global"; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF217A63E6F0036CBBF /* Release 2014 */ = { + 323857CD1B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4811,9 +4894,9 @@ HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; PRODUCT_NAME = COLLADAStreamWriter; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF317A63E6F0036CBBF /* Release 2014 */ = { + 323857CE1B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4829,9 +4912,9 @@ INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = COLLADABaseUtils; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF417A63E6F0036CBBF /* Release 2014 */ = { + 323857CF1B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4843,9 +4926,9 @@ HEADER_SEARCH_PATHS = /usr/include/libxml2; PRODUCT_NAME = GeneratedSaxParser; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF517A63E6F0036CBBF /* Release 2014 */ = { + 323857D01B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4857,9 +4940,9 @@ HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; PRODUCT_NAME = COLLADAFramework; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF617A63E6F0036CBBF /* Release 2014 */ = { + 323857D11B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4875,33 +4958,33 @@ ); PRODUCT_NAME = COLLADASaxFrameworkLoader; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF717A63E6F0036CBBF /* Release 2014 */ = { + 323857D21B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = pcre; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF817A63E6F0036CBBF /* Release 2014 */ = { + 323857D31B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = MathMLSolver; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FF917A63E6F0036CBBF /* Release 2014 */ = { + 323857D41B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = libftoa; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FFA17A63E6F0036CBBF /* Release 2014 */ = { + 323857D51B09C04A00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4911,9 +4994,9 @@ ); PRODUCT_NAME = libBuffer; }; - name = "Release 2014"; + name = "Release 2016"; }; - A3ED9FFB17A63E6F0036CBBF /* Release 2014 */ = { + 323857D61B09C04B00571BB2 /* Release 2016 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -4929,69 +5012,102 @@ ); PRODUCT_NAME = dae2ma; }; - name = "Release 2014"; + name = "Release 2016"; }; - CE0B3F510F56B194004F8570 /* Debug 2008 */ = { + A3ED9FE417A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - REQUIRE_IOSTREAM, - DEBUG, - OSMac_, - ); - HEADER_SEARCH_PATHS = ( - ../Externals/UTF/include, - ../COLLADABaseUtils/include, - ); - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = COLLADABaseUtils; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2014; + New_Setting = ""; + SDKROOT = macosx; }; - name = "Debug 2008"; + name = "Debug 2014"; }; - CE0B3F520F56B194004F8570 /* Debug 2009 */ = { + A3ED9FE517A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = ""; + DYLIB_CURRENT_VERSION = ""; + EXECUTABLE_EXTENSION = bundle; + FRAMEWORK_SEARCH_PATHS = "\"$(MAYA_PATH)/Maya.app/Contents/Frameworks\""; GCC_PREPROCESSOR_DEFINITIONS = ( + CREATE_IMPORT_PLUGIN, + MAC_PLUGIN, + OSMac_, REQUIRE_IOSTREAM, + GLUT_NO_LIB_PRAGMA, + CM_EXPORTS, + GLUT_NO_WARNING_DISABLE, + _CRT_NONSTDC_NO_DEPRECATE, DEBUG, - OSMac_, + _BOOL, ); + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( - ../Externals/UTF/include, ../COLLADABaseUtils/include, + ../Externals/LibXML/include, + ../Externals/MayaDataModel/include, + "$(MAYA_PATH)/devkit/plug-ins", + "$(MAYA_PATH)/devkit/include", + "$(MAYA_PATH)/devkit/plug-ins/cgFx", ); - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = COLLADABaseUtils; + INSTALL_PATH = "/Users/Shared/Autodesk/maya/2014/plug-ins"; + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; + MACH_O_TYPE = mh_dylib; + OTHER_LDFLAGS = ( + "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", + "-lOpenMaya", + "-lFoundation", + "-lOpenMayaUI", + "-lOpenMayaAnim", + "-lOpenMayaRender", + "-lCOLLADAStreamWriter", + "-lCOLLADABaseUtils", + "-lCOLLADAFramework", + "-lCOLLADASaxFrameworkLoader", + "-lGeneratedSaxParser", + "-llibftoa", + "-llibBuffer", + "-ldae2ma", + "-lpcre", + "-lMathMLSolver", + "-lxml2", + "-shared", + "-framework", + Cg, + ); + PRODUCT_NAME = COLLADAMaya; }; - name = "Debug 2009"; + name = "Debug 2014"; }; - CE0B3F530F56B194004F8570 /* Release 2008 */ = { + A3ED9FE617A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; GCC_PREPROCESSOR_DEFINITIONS = ( - REQUIRE_IOSTREAM, - NDEBUG, OSMac_, + REQUIRE_IOSTREAM, + DEBUG, ); - HEADER_SEARCH_PATHS = ( - ../Externals/UTF/include, - ../COLLADABaseUtils/include, - ); - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = COLLADABaseUtils; + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; }; - name = "Release 2008"; + name = "Debug 2014"; }; - CE0B3F540F56B194004F8570 /* Release 2009 */ = { + A3ED9FE717A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; GCC_PREPROCESSOR_DEFINITIONS = ( REQUIRE_IOSTREAM, - NDEBUG, + DEBUG, OSMac_, ); HEADER_SEARCH_PATHS = ( @@ -5001,100 +5117,868 @@ INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = COLLADABaseUtils; }; - name = "Release 2009"; - }; - CE3E667C0FD54A21003D1AD2 /* Debug 2008 */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = pcre; - }; - name = "Debug 2008"; - }; - CE3E667D0FD54A21003D1AD2 /* Debug 2009 */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = pcre; - }; - name = "Debug 2009"; + name = "Debug 2014"; }; - CE3E667E0FD54A21003D1AD2 /* Release 2008 */ = { + A3ED9FE817A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = pcre; + HEADER_SEARCH_PATHS = /usr/include/libxml2; + PRODUCT_NAME = GeneratedSaxParser; }; - name = "Release 2008"; + name = "Debug 2014"; }; - CE3E667F0FD54A21003D1AD2 /* Release 2009 */ = { + A3ED9FE917A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = pcre; + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; + PRODUCT_NAME = COLLADAFramework; }; - name = "Release 2009"; + name = "Debug 2014"; }; - CE6095220E93CD6C007F776B /* Debug 2008 */ = { + A3ED9FEA17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; GCC_PREPROCESSOR_DEFINITIONS = ( OSMac_, REQUIRE_IOSTREAM, - DEBUG, + _DEBUG, + GENERATEDSAXPARSER_XMLPARSER_LIBXML, ); - HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; - PRODUCT_NAME = COLLADAStreamWriter; + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include/, + /usr/include/libxml2, + ); + PRODUCT_NAME = COLLADASaxFrameworkLoader; }; - name = "Debug 2008"; + name = "Debug 2014"; }; - CE6095230E93CD6C007F776B /* Release 2008 */ = { + A3ED9FEB17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - OSMac_, - REQUIRE_IOSTREAM, - NDEBUG, - ); - HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; - PRODUCT_NAME = COLLADAStreamWriter; + PRODUCT_NAME = pcre; }; - name = "Release 2008"; + name = "Debug 2014"; }; - CE615FD11020DBF600481492 /* Debug 2008 */ = { + A3ED9FEC17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; PRODUCT_NAME = MathMLSolver; }; - name = "Debug 2008"; + name = "Debug 2014"; }; - CE615FD21020DBF600481492 /* Debug 2009 */ = { + A3ED9FED17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = MathMLSolver; + PRODUCT_NAME = libftoa; }; - name = "Debug 2009"; + name = "Debug 2014"; }; - CE615FD31020DBF600481492 /* Release 2008 */ = { + A3ED9FEE17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = MathMLSolver; + HEADER_SEARCH_PATHS = ( + ../common/libftoa/include, + ../Externals/UTF/include, + ); + PRODUCT_NAME = libBuffer; }; - name = "Release 2008"; + name = "Debug 2014"; }; - CE615FD41020DBF600481492 /* Release 2009 */ = { + A3ED9FEF17A63E660036CBBF /* Debug 2014 */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - PRODUCT_NAME = MathMLSolver; - }; - name = "Release 2009"; - }; + GCC_PREPROCESSOR_DEFINITIONS = ( + DEBUG, + MAC_PLUGIN, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../COLLADASaxFrameworkLoader/include, + "\"$(SRCROOT)/../Externals/MayaDataModel/include/\"", + ); + PRODUCT_NAME = dae2ma; + }; + name = "Debug 2014"; + }; + A3ED9FF017A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2014; + New_Setting = ""; + SDKROOT = macosx; + }; + name = "Release 2014"; + }; + A3ED9FF117A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = ""; + DYLIB_CURRENT_VERSION = ""; + EXECUTABLE_EXTENSION = bundle; + FRAMEWORK_SEARCH_PATHS = "\"$(MAYA_PATH)/Maya.app/Contents/Frameworks\""; + GCC_PREPROCESSOR_DEFINITIONS = ( + CREATE_IMPORT_PLUGIN, + MAC_PLUGIN, + NDEBUG, + OSMac_, + REQUIRE_IOSTREAM, + GLUT_NO_LIB_PRAGMA, + CM_EXPORTS, + GLUT_NO_WARNING_DISABLE, + _CRT_NONSTDC_NO_DEPRECATE, + _BOOL, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../Externals/LibXML/include, + ../Externals/MayaDataModel/include, + "$(MAYA_PATH)/devkit/plug-ins", + "$(MAYA_PATH)/devkit/include", + "$(MAYA_PATH)/devkit/plug-ins/cgFx", + ); + INSTALL_PATH = "/Users/Shared/Autodesk/maya/2014/plug-ins"; + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; + MACH_O_TYPE = mh_dylib; + OTHER_LDFLAGS = ( + "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", + "-lOpenMaya", + "-lFoundation", + "-lOpenMayaUI", + "-lOpenMayaAnim", + "-lOpenMayaRender", + "-lCOLLADAStreamWriter", + "-lCOLLADABaseUtils", + "-lCOLLADAFramework", + "-lCOLLADASaxFrameworkLoader", + "-lGeneratedSaxParser", + "-llibftoa", + "-llibBuffer", + "-ldae2ma", + "-lpcre", + "-lMathMLSolver", + "-lxml2", + "-shared", + "-framework", + Cg, + ); + PRODUCT_NAME = COLLADAMaya; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = "non-global"; + }; + name = "Release 2014"; + }; + A3ED9FF217A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + NDEBUG, + ); + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; + }; + name = "Release 2014"; + }; + A3ED9FF317A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + NDEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Release 2014"; + }; + A3ED9FF417A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + NDEBUG, + REQUIRE_IOSTREAM, + ); + HEADER_SEARCH_PATHS = /usr/include/libxml2; + PRODUCT_NAME = GeneratedSaxParser; + }; + name = "Release 2014"; + }; + A3ED9FF517A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + NDEBUG, + REQUIRE_IOSTREAM, + ); + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; + PRODUCT_NAME = COLLADAFramework; + }; + name = "Release 2014"; + }; + A3ED9FF617A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + NDEBUG, + GENERATEDSAXPARSER_XMLPARSER_LIBXML, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include/, + /usr/include/libxml2, + ); + PRODUCT_NAME = COLLADASaxFrameworkLoader; + }; + name = "Release 2014"; + }; + A3ED9FF717A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Release 2014"; + }; + A3ED9FF817A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Release 2014"; + }; + A3ED9FF917A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = libftoa; + }; + name = "Release 2014"; + }; + A3ED9FFA17A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = ( + ../common/libftoa/include, + ../Externals/UTF/include, + ); + PRODUCT_NAME = libBuffer; + }; + name = "Release 2014"; + }; + A3ED9FFB17A63E6F0036CBBF /* Release 2014 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + NDEBUG, + MAC_PLUGIN, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../COLLADASaxFrameworkLoader/include, + "\"$(SRCROOT)/../Externals/MayaDataModel/include/\"", + ); + PRODUCT_NAME = dae2ma; + }; + name = "Release 2014"; + }; + A5155DFD19F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2015; + New_Setting = ""; + SDKROOT = macosx10.9; + }; + name = "Debug 2015"; + }; + A5155DFE19F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = ""; + DYLIB_CURRENT_VERSION = ""; + EXECUTABLE_EXTENSION = bundle; + FRAMEWORK_SEARCH_PATHS = "\"$(MAYA_PATH)/Maya.app/Contents/Frameworks\""; + GCC_PREPROCESSOR_DEFINITIONS = ( + CREATE_IMPORT_PLUGIN, + MAC_PLUGIN, + OSMac_, + REQUIRE_IOSTREAM, + GLUT_NO_LIB_PRAGMA, + CM_EXPORTS, + GLUT_NO_WARNING_DISABLE, + _CRT_NONSTDC_NO_DEPRECATE, + DEBUG, + _BOOL, + ); + GCC_VERSION = ""; + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../Externals/LibXML/include, + ../Externals/MayaDataModel/include, + "$(MAYA_PATH)/devkit/plug-ins", + "$(MAYA_PATH)/devkit/include", + "$(MAYA_PATH)/devkit/plug-ins/cgFx", + ); + INSTALL_PATH = "/Users/Shared/Autodesk/maya/2014/plug-ins"; + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; + MACH_O_TYPE = mh_dylib; + MAYA_PATH = /Applications/Autodesk/maya2015; + OTHER_LDFLAGS = ( + "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", + "-lOpenMaya", + "-lFoundation", + "-lOpenMayaUI", + "-lOpenMayaAnim", + "-lOpenMayaRender", + "-lCOLLADAStreamWriter", + "-lCOLLADABaseUtils", + "-lCOLLADAFramework", + "-lCOLLADASaxFrameworkLoader", + "-lGeneratedSaxParser", + "-llibftoa", + "-llibBuffer", + "-ldae2ma", + "-lpcre", + "-lMathMLSolver", + "-lxml2", + "-shared", + "-framework", + Cg, + ); + PRODUCT_NAME = COLLADAMaya; + }; + name = "Debug 2015"; + }; + A5155DFF19F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + DEBUG, + ); + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; + }; + name = "Debug 2015"; + }; + A5155E0019F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + DEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Debug 2015"; + }; + A5155E0119F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = /usr/include/libxml2; + PRODUCT_NAME = GeneratedSaxParser; + }; + name = "Debug 2015"; + }; + A5155E0219F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; + PRODUCT_NAME = COLLADAFramework; + }; + name = "Debug 2015"; + }; + A5155E0319F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + _DEBUG, + GENERATEDSAXPARSER_XMLPARSER_LIBXML, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include/, + /usr/include/libxml2, + ); + PRODUCT_NAME = COLLADASaxFrameworkLoader; + }; + name = "Debug 2015"; + }; + A5155E0419F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Debug 2015"; + }; + A5155E0519F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Debug 2015"; + }; + A5155E0619F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = libftoa; + }; + name = "Debug 2015"; + }; + A5155E0719F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = ( + ../common/libftoa/include, + ../Externals/UTF/include, + ); + PRODUCT_NAME = libBuffer; + }; + name = "Debug 2015"; + }; + A5155E0819F7881600D5D4DC /* Debug 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + DEBUG, + MAC_PLUGIN, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../COLLADASaxFrameworkLoader/include, + "\"$(SRCROOT)/../Externals/MayaDataModel/include/\"", + ); + PRODUCT_NAME = dae2ma; + }; + name = "Debug 2015"; + }; + A5155E0919F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAYA_PATH = /Applications/Autodesk/maya2015; + New_Setting = ""; + SDKROOT = macosx10.9; + }; + name = "Release 2015"; + }; + A5155E0A19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = ""; + DYLIB_CURRENT_VERSION = ""; + EXECUTABLE_EXTENSION = bundle; + FRAMEWORK_SEARCH_PATHS = "\"$(MAYA_PATH)/Maya.app/Contents/Frameworks\""; + GCC_PREPROCESSOR_DEFINITIONS = ( + CREATE_IMPORT_PLUGIN, + MAC_PLUGIN, + NDEBUG, + OSMac_, + REQUIRE_IOSTREAM, + GLUT_NO_LIB_PRAGMA, + CM_EXPORTS, + GLUT_NO_WARNING_DISABLE, + _CRT_NONSTDC_NO_DEPRECATE, + _BOOL, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../Externals/LibXML/include, + ../Externals/MayaDataModel/include, + "$(MAYA_PATH)/devkit/plug-ins", + "$(MAYA_PATH)/devkit/include", + "$(MAYA_PATH)/devkit/plug-ins/cgFx", + ); + INSTALL_PATH = "/Users/Shared/Autodesk/maya/2015/plug-ins"; + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; + MACH_O_TYPE = mh_dylib; + OTHER_LDFLAGS = ( + "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", + "-lOpenMaya", + "-lFoundation", + "-lOpenMayaUI", + "-lOpenMayaAnim", + "-lOpenMayaRender", + "-lCOLLADAStreamWriter", + "-lCOLLADABaseUtils", + "-lCOLLADAFramework", + "-lCOLLADASaxFrameworkLoader", + "-lGeneratedSaxParser", + "-llibftoa", + "-llibBuffer", + "-ldae2ma", + "-lpcre", + "-lMathMLSolver", + "-lxml2", + "-shared", + "-framework", + Cg, + ); + PRODUCT_NAME = COLLADAMaya; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = "non-global"; + }; + name = "Release 2015"; + }; + A5155E0B19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + NDEBUG, + ); + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; + }; + name = "Release 2015"; + }; + A5155E0C19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + NDEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Release 2015"; + }; + A5155E0D19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + NDEBUG, + REQUIRE_IOSTREAM, + ); + HEADER_SEARCH_PATHS = /usr/include/libxml2; + PRODUCT_NAME = GeneratedSaxParser; + }; + name = "Release 2015"; + }; + A5155E0E19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + NDEBUG, + REQUIRE_IOSTREAM, + ); + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../COLLADABaseUtils/include\""; + PRODUCT_NAME = COLLADAFramework; + }; + name = "Release 2015"; + }; + A5155E0F19F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + NDEBUG, + GENERATEDSAXPARSER_XMLPARSER_LIBXML, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include/, + /usr/include/libxml2, + ); + PRODUCT_NAME = COLLADASaxFrameworkLoader; + }; + name = "Release 2015"; + }; + A5155E1019F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Release 2015"; + }; + A5155E1119F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Release 2015"; + }; + A5155E1219F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = libftoa; + }; + name = "Release 2015"; + }; + A5155E1319F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = ( + ../common/libftoa/include, + ../Externals/UTF/include, + ); + PRODUCT_NAME = libBuffer; + }; + name = "Release 2015"; + }; + A5155E1419F7881D00D5D4DC /* Release 2015 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + NDEBUG, + MAC_PLUGIN, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../COLLADABaseUtils/include, + ../COLLADASaxFrameworkLoader/include, + "\"$(SRCROOT)/../Externals/MayaDataModel/include/\"", + ); + PRODUCT_NAME = dae2ma; + }; + name = "Release 2015"; + }; + CE0B3F510F56B194004F8570 /* Debug 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + DEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Debug 2008"; + }; + CE0B3F520F56B194004F8570 /* Debug 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + DEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Debug 2009"; + }; + CE0B3F530F56B194004F8570 /* Release 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + NDEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Release 2008"; + }; + CE0B3F540F56B194004F8570 /* Release 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + REQUIRE_IOSTREAM, + NDEBUG, + OSMac_, + ); + HEADER_SEARCH_PATHS = ( + ../Externals/UTF/include, + ../COLLADABaseUtils/include, + ); + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = COLLADABaseUtils; + }; + name = "Release 2009"; + }; + CE3E667C0FD54A21003D1AD2 /* Debug 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Debug 2008"; + }; + CE3E667D0FD54A21003D1AD2 /* Debug 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Debug 2009"; + }; + CE3E667E0FD54A21003D1AD2 /* Release 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Release 2008"; + }; + CE3E667F0FD54A21003D1AD2 /* Release 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = pcre; + }; + name = "Release 2009"; + }; + CE6095220E93CD6C007F776B /* Debug 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + DEBUG, + ); + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; + }; + name = "Debug 2008"; + }; + CE6095230E93CD6C007F776B /* Release 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + OSMac_, + REQUIRE_IOSTREAM, + NDEBUG, + ); + HEADER_SEARCH_PATHS = ../COLLADABaseUtils/include; + PRODUCT_NAME = COLLADAStreamWriter; + }; + name = "Release 2008"; + }; + CE615FD11020DBF600481492 /* Debug 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Debug 2008"; + }; + CE615FD21020DBF600481492 /* Debug 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Debug 2009"; + }; + CE615FD31020DBF600481492 /* Release 2008 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Release 2008"; + }; + CE615FD41020DBF600481492 /* Release 2009 */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = MathMLSolver; + }; + name = "Release 2009"; + }; CE728FDD10AC6D5200AE5662 /* Debug 2008 */ = { isa = XCBuildConfiguration; buildSettings = { @@ -5330,7 +6214,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2010; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2010"; @@ -5359,16 +6245,13 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2010/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -5388,8 +6271,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -5489,7 +6370,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2010; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2010"; @@ -5516,16 +6399,13 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2010/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -5545,8 +6425,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -5822,7 +6700,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2009; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2009"; @@ -5851,16 +6731,13 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2009/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -5880,8 +6757,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -5911,7 +6786,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2009; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2009"; @@ -5938,16 +6815,13 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2009/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -5967,8 +6841,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -6000,7 +6872,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2013; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2013"; @@ -6027,16 +6901,13 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2013/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -6056,8 +6927,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -6207,7 +7076,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = REQUIRE_IOSTREAM; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2011; + New_Setting = ""; SDKROOT = macosx; }; name = "Release 2011"; @@ -6234,18 +7105,16 @@ ); HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", "$(MAYA_PATH)/Maya.app/Contents/Frameworks/Cg.framework/Versions/1.0/Headers", - "/Applications/Autodesk/maya2011/Maya.app/Contents/Frameworks/Cg.framework/Versions/1.0/Headers\n/Applications/Autodesk/maya2011/Maya.app/Contents/Frameworks/Cg.framework/Versions/1.0/Headers\n", + /Applications/Autodesk/maya2011/Maya.app/Contents/Frameworks/Cg.framework/Versions/1.0/Headers, + /Applications/Autodesk/maya2011/Maya.app/Contents/Frameworks/Cg.framework/Versions/1.0/Headers, ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2011/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -6265,8 +7134,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -6416,7 +7283,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2011; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2011"; @@ -6445,16 +7314,13 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2011/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -6474,8 +7340,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -6613,7 +7477,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2012; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2012"; @@ -6642,16 +7508,13 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, + ../Externals/LibXML/include, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2012/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -6671,8 +7534,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -6810,7 +7671,9 @@ CLANG_CXX_LIBRARY = "libc++"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.9; MAYA_PATH = /Applications/Autodesk/maya2013; + New_Setting = ""; SDKROOT = macosx; }; name = "Debug 2013"; @@ -6839,16 +7702,12 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( ../COLLADABaseUtils/include, - ../Externals/boost_1_53_0, ../Externals/MayaDataModel/include, "$(MAYA_PATH)/devkit/plug-ins", "$(MAYA_PATH)/devkit/include", ); INSTALL_PATH = "/Users/Shared/Autodesk/maya/2013/plug-ins"; - LIBRARY_SEARCH_PATHS = ( - "$(MAYA_PATH)/Maya.app/Contents/MacOS", - ../Externals/boost_1_53_0/stage/lib, - ); + LIBRARY_SEARCH_PATHS = "$(MAYA_PATH)/Maya.app/Contents/MacOS"; MACH_O_TYPE = mh_dylib; OTHER_LDFLAGS = ( "-Wl,-executable_path,$(MAYA_PATH)/Maya.app/Contents/MacOS", @@ -6868,8 +7727,6 @@ "-lpcre", "-lMathMLSolver", "-lxml2", - "-lboost_system", - "-lboost_filesystem", "-shared", "-framework", Cg, @@ -7013,6 +7870,8 @@ CEACFB7A16D52475004EA121 /* Debug 2012 */, CEACFB8616D52479004EA121 /* Debug 2013 */, A3ED9FE517A63E660036CBBF /* Debug 2014 */, + A5155DFE19F7881600D5D4DC /* Debug 2015 */, + 323857C01B09C04000571BB2 /* Debug 2016 */, 1DEB916208733D950010E9CD /* Release 2008 */, CE84B3340E9F96D600728F47 /* Release 2009 */, CE7456E5104CF660000083A6 /* Release 2010 */, @@ -7020,9 +7879,11 @@ CEACFB6216D52460004EA121 /* Release 2011 */, CEACFB5616D52459004EA121 /* Release 2013 */, A3ED9FF117A63E6F0036CBBF /* Release 2014 */, + A5155E0A19F7881D00D5D4DC /* Release 2015 */, + 323857CC1B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; 1DEB916408733D950010E9CD /* Build configuration list for PBXProject "COLLADAMaya" */ = { isa = XCConfigurationList; @@ -7034,6 +7895,8 @@ CEACFB7916D52475004EA121 /* Debug 2012 */, CEACFB8516D52479004EA121 /* Debug 2013 */, A3ED9FE417A63E660036CBBF /* Debug 2014 */, + A5155DFD19F7881600D5D4DC /* Debug 2015 */, + 323857BF1B09C04000571BB2 /* Debug 2016 */, 1DEB916608733D950010E9CD /* Release 2008 */, CE84B3330E9F96D600728F47 /* Release 2009 */, CE7456E4104CF660000083A6 /* Release 2010 */, @@ -7041,9 +7904,11 @@ CEACFB6116D52460004EA121 /* Release 2011 */, CEACFB5516D52459004EA121 /* Release 2013 */, A3ED9FF017A63E6F0036CBBF /* Release 2014 */, + A5155E0919F7881D00D5D4DC /* Release 2015 */, + 323857CB1B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE0B3F590F56B1A9004F8570 /* Build configuration list for PBXNativeTarget "COLLADABaseUtils" */ = { isa = XCConfigurationList; @@ -7055,6 +7920,8 @@ CEACFB7C16D52475004EA121 /* Debug 2012 */, CEACFB8816D52479004EA121 /* Debug 2013 */, A3ED9FE717A63E660036CBBF /* Debug 2014 */, + A5155E0019F7881600D5D4DC /* Debug 2015 */, + 323857C21B09C04000571BB2 /* Debug 2016 */, CE0B3F530F56B194004F8570 /* Release 2008 */, CE0B3F540F56B194004F8570 /* Release 2009 */, CE7456E7104CF660000083A6 /* Release 2010 */, @@ -7062,9 +7929,11 @@ CEACFB6416D52460004EA121 /* Release 2011 */, CEACFB5816D52459004EA121 /* Release 2013 */, A3ED9FF317A63E6F0036CBBF /* Release 2014 */, + A5155E0C19F7881D00D5D4DC /* Release 2015 */, + 323857CE1B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE3E66800FD54A3F003D1AD2 /* Build configuration list for PBXNativeTarget "pcre" */ = { isa = XCConfigurationList; @@ -7076,6 +7945,8 @@ CEACFB8016D52475004EA121 /* Debug 2012 */, CEACFB8C16D52479004EA121 /* Debug 2013 */, A3ED9FEB17A63E660036CBBF /* Debug 2014 */, + A5155E0419F7881600D5D4DC /* Debug 2015 */, + 323857C61B09C04000571BB2 /* Debug 2016 */, CE3E667E0FD54A21003D1AD2 /* Release 2008 */, CE3E667F0FD54A21003D1AD2 /* Release 2009 */, CE7456EB104CF660000083A6 /* Release 2010 */, @@ -7083,9 +7954,11 @@ CEACFB6816D52460004EA121 /* Release 2011 */, CEACFB5C16D52459004EA121 /* Release 2013 */, A3ED9FF717A63E6F0036CBBF /* Release 2014 */, + A5155E1019F7881D00D5D4DC /* Release 2015 */, + 323857D21B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE6095240E93CD8A007F776B /* Build configuration list for PBXNativeTarget "COLLADAStreamWriter" */ = { isa = XCConfigurationList; @@ -7097,6 +7970,8 @@ CEACFB7B16D52475004EA121 /* Debug 2012 */, CEACFB8716D52479004EA121 /* Debug 2013 */, A3ED9FE617A63E660036CBBF /* Debug 2014 */, + A5155DFF19F7881600D5D4DC /* Debug 2015 */, + 323857C11B09C04000571BB2 /* Debug 2016 */, CE6095230E93CD6C007F776B /* Release 2008 */, CE84B3350E9F96D600728F47 /* Release 2009 */, CE7456E6104CF660000083A6 /* Release 2010 */, @@ -7104,9 +7979,11 @@ CEACFB6316D52460004EA121 /* Release 2011 */, CEACFB5716D52459004EA121 /* Release 2013 */, A3ED9FF217A63E6F0036CBBF /* Release 2014 */, + A5155E0B19F7881D00D5D4DC /* Release 2015 */, + 323857CD1B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE615FD51020DC1400481492 /* Build configuration list for PBXNativeTarget "MathMLSolver" */ = { isa = XCConfigurationList; @@ -7118,6 +7995,8 @@ CEACFB8116D52475004EA121 /* Debug 2012 */, CEACFB8D16D52479004EA121 /* Debug 2013 */, A3ED9FEC17A63E660036CBBF /* Debug 2014 */, + A5155E0519F7881600D5D4DC /* Debug 2015 */, + 323857C71B09C04000571BB2 /* Debug 2016 */, CE615FD31020DBF600481492 /* Release 2008 */, CE615FD41020DBF600481492 /* Release 2009 */, CE7456EC104CF660000083A6 /* Release 2010 */, @@ -7125,9 +8004,11 @@ CEACFB6916D52460004EA121 /* Release 2011 */, CEACFB5D16D52459004EA121 /* Release 2013 */, A3ED9FF817A63E6F0036CBBF /* Release 2014 */, + A5155E1119F7881D00D5D4DC /* Release 2015 */, + 323857D31B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE728FEE10AC6DF400AE5662 /* Build configuration list for PBXNativeTarget "libftoa" */ = { isa = XCConfigurationList; @@ -7139,6 +8020,8 @@ CEACFB8216D52475004EA121 /* Debug 2012 */, CEACFB8E16D52479004EA121 /* Debug 2013 */, A3ED9FED17A63E660036CBBF /* Debug 2014 */, + A5155E0619F7881600D5D4DC /* Debug 2015 */, + 323857C81B09C04000571BB2 /* Debug 2016 */, CE728FE010AC6D5200AE5662 /* Release 2008 */, CE728FE110AC6D5200AE5662 /* Release 2009 */, CE728FE210AC6D5200AE5662 /* Release 2010 */, @@ -7146,9 +8029,11 @@ CEACFB6A16D52460004EA121 /* Release 2011 */, CEACFB5E16D52459004EA121 /* Release 2013 */, A3ED9FF917A63E6F0036CBBF /* Release 2014 */, + A5155E1219F7881D00D5D4DC /* Release 2015 */, + 323857D41B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE728FEF10AC6DF400AE5662 /* Build configuration list for PBXNativeTarget "libBuffer" */ = { isa = XCConfigurationList; @@ -7160,6 +8045,8 @@ CEACFB8316D52475004EA121 /* Debug 2012 */, CEACFB8F16D52479004EA121 /* Debug 2013 */, A3ED9FEE17A63E660036CBBF /* Debug 2014 */, + A5155E0719F7881600D5D4DC /* Debug 2015 */, + 323857C91B09C04000571BB2 /* Debug 2016 */, CE728FEB10AC6D7A00AE5662 /* Release 2008 */, CE728FEC10AC6D7A00AE5662 /* Release 2009 */, CE728FED10AC6D7A00AE5662 /* Release 2010 */, @@ -7167,9 +8054,11 @@ CEACFB6B16D52460004EA121 /* Release 2011 */, CEACFB5F16D52459004EA121 /* Release 2013 */, A3ED9FFA17A63E6F0036CBBF /* Release 2014 */, + A5155E1319F7881D00D5D4DC /* Release 2015 */, + 323857D51B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE72900410AC6E5600AE5662 /* Build configuration list for PBXNativeTarget "dae2ma" */ = { isa = XCConfigurationList; @@ -7181,6 +8070,8 @@ CEACFB8416D52475004EA121 /* Debug 2012 */, CEACFB9016D52479004EA121 /* Debug 2013 */, A3ED9FEF17A63E660036CBBF /* Debug 2014 */, + A5155E0819F7881600D5D4DC /* Debug 2015 */, + 323857CA1B09C04000571BB2 /* Debug 2016 */, CE728FFC10AC6E1F00AE5662 /* Release 2008 */, CE728FFD10AC6E1F00AE5662 /* Release 2009 */, CE728FFE10AC6E1F00AE5662 /* Release 2010 */, @@ -7188,9 +8079,11 @@ CEACFB6C16D52460004EA121 /* Release 2011 */, CEACFB6016D52459004EA121 /* Release 2013 */, A3ED9FFB17A63E6F0036CBBF /* Release 2014 */, + A5155E1419F7881D00D5D4DC /* Release 2015 */, + 323857D61B09C04B00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE787BD20F583F580019C2D7 /* Build configuration list for PBXNativeTarget "GeneratedSaxParser" */ = { isa = XCConfigurationList; @@ -7202,6 +8095,8 @@ CEACFB7D16D52475004EA121 /* Debug 2012 */, CEACFB8916D52479004EA121 /* Debug 2013 */, A3ED9FE817A63E660036CBBF /* Debug 2014 */, + A5155E0119F7881600D5D4DC /* Debug 2015 */, + 323857C31B09C04000571BB2 /* Debug 2016 */, CE787BD00F583F360019C2D7 /* Release 2008 */, CE787BD10F583F360019C2D7 /* Release 2009 */, CE7456E8104CF660000083A6 /* Release 2010 */, @@ -7209,9 +8104,11 @@ CEACFB6516D52460004EA121 /* Release 2011 */, CEACFB5916D52459004EA121 /* Release 2013 */, A3ED9FF417A63E6F0036CBBF /* Release 2014 */, + A5155E0D19F7881D00D5D4DC /* Release 2015 */, + 323857CF1B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE787CA40F583FE00019C2D7 /* Build configuration list for PBXNativeTarget "COLLADAFramework" */ = { isa = XCConfigurationList; @@ -7223,6 +8120,8 @@ CEACFB7E16D52475004EA121 /* Debug 2012 */, CEACFB8A16D52479004EA121 /* Debug 2013 */, A3ED9FE917A63E660036CBBF /* Debug 2014 */, + A5155E0219F7881600D5D4DC /* Debug 2015 */, + 323857C41B09C04000571BB2 /* Debug 2016 */, CE787C040F583FC90019C2D7 /* Release 2008 */, CE787C050F583FC90019C2D7 /* Release 2009 */, CE7456E9104CF660000083A6 /* Release 2010 */, @@ -7230,9 +8129,11 @@ CEACFB6616D52460004EA121 /* Release 2011 */, CEACFB5A16D52459004EA121 /* Release 2013 */, A3ED9FF517A63E6F0036CBBF /* Release 2014 */, + A5155E0E19F7881D00D5D4DC /* Release 2015 */, + 323857D01B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; CE787D530F5840960019C2D7 /* Build configuration list for PBXNativeTarget "COLLADASaxFrameworkLoader" */ = { isa = XCConfigurationList; @@ -7244,6 +8145,8 @@ CEACFB7F16D52475004EA121 /* Debug 2012 */, CEACFB8B16D52479004EA121 /* Debug 2013 */, A3ED9FEA17A63E660036CBBF /* Debug 2014 */, + A5155E0319F7881600D5D4DC /* Debug 2015 */, + 323857C51B09C04000571BB2 /* Debug 2016 */, CE787D010F5840830019C2D7 /* Release 2008 */, CE787D020F5840830019C2D7 /* Release 2009 */, CE7456EA104CF660000083A6 /* Release 2010 */, @@ -7251,9 +8154,11 @@ CEACFB6716D52460004EA121 /* Release 2011 */, CEACFB5B16D52459004EA121 /* Release 2013 */, A3ED9FF617A63E6F0036CBBF /* Release 2014 */, + A5155E0F19F7881D00D5D4DC /* Release 2015 */, + 323857D11B09C04A00571BB2 /* Release 2016 */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 2014"; + defaultConfigurationName = "Release 2015"; }; /* End XCConfigurationList section */ }; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/generateVersionHeader.sh opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/generateVersionHeader.sh --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/generateVersionHeader.sh 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/generateVersionHeader.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/bin/bash - -OUT_FILE=include/COLLADAMayaVersionInfo.h - -echo "#ifndef __COLLADAMAYA_VERSIONINFO_H__" > $OUT_FILE -echo "#define __COLLADAMAYA_VERSIONINFO_H__" >> $OUT_FILE -echo "" >> $OUT_FILE -echo "#include \"COLLADAMayaPrerequisites.h\"" >> $OUT_FILE -echo "" >> $OUT_FILE -echo "namespace COLLADAMaya" >> $OUT_FILE -echo "{" >> $OUT_FILE -echo " const String CURRENT_REVISION = \"`svnversion`\";" >> $OUT_FILE -echo " const String CURRENT_PLATFORM = \"`uname -s`\";" >> $OUT_FILE -# const String CURRENT_CONFIGURATION = "ReleaseConsole2008"; -echo "}" >> $OUT_FILE -echo "" >> $OUT_FILE -echo "#endif // __COLLADAMAYA_VERSIONINFO_H__" >> $OUT_FILE -echo "" >> $OUT_FILE diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationElement.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationElement.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationElement.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationElement.h 2016-07-13 19:25:45.000000000 +0000 @@ -52,6 +52,7 @@ /** The ids of the current element. */ String mBaseId; + String mOriginalBaseId; String mNodeId; String mTargetSid; String mOriginalColladaId; @@ -68,6 +69,8 @@ /** The sample type of the current attribute. Could be for example a single one or a vector. */ SampleType mSampleType; + MEulerRotation::RotationOrder mOrder; + /** The list of the animated curves of the current element. */ AnimationCurveList mAnimatedCurves; @@ -89,6 +92,8 @@ /** True, if the internal units has to be converted into the UI units. */ bool mConvertUnits; + bool mNeedToexport; + public: /** Constructor. */ @@ -99,7 +104,9 @@ const String& nodeId, const String parameters[], const bool convertUnits, - SampleType sampleType = kSingle ); + MEulerRotation::RotationOrder euler, + SampleType sampleType = kSingle + ); /** Destructor. */ virtual ~AnimationElement(); @@ -113,6 +120,21 @@ return mBaseId; } + void setBaseId(String name) + { + mBaseId = name; + } + + void setOriginalBaseId(String name) + { + mOriginalBaseId = name; + } + + const String& getOriginalBaseId() const + { + return mOriginalBaseId; + } + const String& getTargetSid() const { return mTargetSid; @@ -158,6 +180,11 @@ mSampleType = sampleType; } + MEulerRotation::RotationOrder getOrder() const + { + return mOrder; + } + /** The conversion functor, for example to convert radians to degrees */ ConversionFunctor* getConversion() { @@ -184,6 +211,11 @@ return mAnimatedCurves; } + void clearAnimatedCurve() + { + mAnimatedCurves.clear(); + } + /** true, if it is a sampled animation. */ bool isSampling() const { @@ -244,6 +276,16 @@ { mArrayElement = val; } + + const bool isExported() const + { + return mNeedToexport; + } + + void isExported(bool val) + { + mNeedToexport = val; + } }; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -26,11 +26,13 @@ #include "COLLADAMayaSyntax.h" #include +#include #include "COLLADASWLibraryAnimations.h" #include "COLLADASWSource.h" #include "COLLADABUIDList.h" +#include namespace COLLADAMaya @@ -90,6 +92,20 @@ /** The list with the animation clips. */ AnimationClipList mAnimationClips; + + /* Current clip animation name during baking*/ + String currentAnimationClip; + + /* Number of instancied Clip*/ + int numberOfInstancedClip; + + /* Clip Source Start*/ + MTime clipSourceStart; + + /* Clip Source End*/ + MTime clipSourceEnd; + + public: /** @@ -179,11 +195,13 @@ MPlug& plug, const String& targetSubId, const SampleType& sampleType, + const MEulerRotation::RotationOrder& order = MEulerRotation::kXYZ, const String* parameters = EMPTY_PARAMETER, const bool convertUnits = false, const int arrayElement = -1, const bool isRelativeAnimation = false, - ConversionFunctor* conversion = NULL ); + ConversionFunctor* conversion = NULL + ); /** * Adds the plug with the given sample type to the list of animations, @@ -202,6 +220,7 @@ MPlug& plug, const String& targetSubId, const uint sampleType, + const MEulerRotation::RotationOrder& order = MEulerRotation::kXYZ, const String* parameters = EMPTY_PARAMETER, const bool convertUnits = false, const int arrayElement = -1, @@ -238,7 +257,7 @@ std::vector& defaultValues ); /** Create the curves for the samples */ - void postSampling(); + bool postSampling(); /** * Export a scene element animation. @@ -390,6 +409,20 @@ */ bool curvesAreEqual ( const AnimationCurveList &curves ); + /** + * Verify that there is, in fact, an animation in this curve. + * @param curve. + * @return bool True, if there is no animation. + */ + bool BezierAllKeysAreEqual(AnimationCurve* curve); + + + /** Returns the tolerance value for double value comparison. */ + const double getTolerance() const + { + return mDocumentExporter->getTolerance(); + } + /** * Creates a animation curve of an collada channel. * @param animatedElement The animated element. @@ -510,6 +543,8 @@ const std::vector& input, const std::vector& output, const std::vector& interpolations, + const std::vector& stepInterpolations, + const std::vector& orders, const std::vector& inTangents, const std::vector& outTangents, const std::vector& tcbs, @@ -572,7 +607,9 @@ * @param interpolations List of export values. */ void writeInterpolationSource ( const String sourceId, - const std::vector interpolations ); + const std::vector interpolations, + const std::vector stepInterpolations, + const std::vector orders ); /** * Writes a in tangent source in the collada document. @@ -645,6 +682,16 @@ template String getTarget ( const BaseAnimationCurve &animationCurve ); + + void saveParamInstancedClip(std::vector& OriginalValues); + void restoreParamInstancedClip(std::vector& OriginalValues); + void createAnimationClip(MFnClip& currentMfnclip); + + + void generateSamplingFunctionForClip(MFnClip& clipFn); + + static const String getNameOfStepInterpolation(const Step & type); + static const String getNameOfOrder(const MEulerRotation::RotationOrder & order); }; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationKeys.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationKeys.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationKeys.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationKeys.h 2016-07-13 19:25:45.000000000 +0000 @@ -20,6 +20,7 @@ #include "COLLADAMayaTangentPoint.h" #include "COLLADASWLibraryAnimations.h" + namespace COLLADAMaya { /** @@ -31,11 +32,45 @@ This class is the base for every animation key. */ - class BaseAnimationKey + enum StepTransform + { + NO_Transformation = 0, + TransX = 1, + TransY = 2, + TransZ = 4, + RotX = 8, + RotY = 16, + RotZ = 32, + ScaleX = 64, + ScaleY = 128, + ScaleZ = 256 + }; + + enum StepType + { + NO_STEP, + STEPPED, + STEPPED_NEXT + }; + + struct Step + { + StepType _type[9]; + StepTransform _transform; + MEulerRotation::RotationOrder _order; + + Step() : _transform(NO_Transformation), _order(MEulerRotation::kXYZ) + { + std::fill(_type, _type+9, NO_STEP); + } + }; + + + class BaseAnimationKey { public: - BaseAnimationKey() : input (-1) {} + BaseAnimationKey(); /** The key input. Typically, this will be a time value, in seconds. For driven curves, the dimension of this value will depend on the driver. */ @@ -43,6 +78,7 @@ /** The key interpolation type. */ COLLADASW::LibraryAnimations::InterpolationType interpolation; + Step transformTypeStep; }; // ---------------------------------------------------------- diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationSampleCache.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationSampleCache.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationSampleCache.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationSampleCache.h 2016-07-13 19:25:45.000000000 +0000 @@ -26,6 +26,7 @@ #include #include +#include namespace COLLADAMaya { @@ -45,15 +46,19 @@ struct Part { MPlug plug; + + std::vector< std::pair > stepInterpolation; std::vector values; bool isMatrix, isWanted, isAnimated; - Part() : isMatrix ( false ), isWanted ( false ), isAnimated ( false ) {} - Part ( const MPlug& plug ) : plug ( plug ), isMatrix ( false ), isWanted ( false ), isAnimated ( false ) {} + std::vector animCurves; + + Part() : isMatrix(false), isWanted(false), isAnimated(false) {} + Part(const MPlug& plug) : plug(plug), isMatrix(false), isWanted(false), isAnimated(false){} }; std::vector parts; - + MObject node; CacheNode ( const MObject& node ) : node ( node ) {} @@ -63,6 +68,7 @@ parts = a.parts; return *this; } + }; /** Map for the cache nodes. */ @@ -108,7 +114,7 @@ * @param outputs * @return bool */ - bool findCachePlug ( const MPlug& plug, std::vector*& inputs, std::vector*& outputs ); + bool findCachePlug(const MPlug& plug, std::vector*& inputs, std::vector*& outputs, std::vector< std::pair >*& interpolation); /** * @todo documentation @@ -148,7 +154,9 @@ void sampleIKHandle ( const MDagPath& dagPath ); /** Sample all the cached plugs */ - void samplePlugs(); + void samplePlugsWithoutClip(); + void samplePlugsWithClip(MFnClip& clipFn); + void samplePlugs(); private: diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationTools.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationTools.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationTools.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAnimationTools.h 2016-07-13 19:25:45.000000000 +0000 @@ -36,7 +36,8 @@ kMatrix = 0x04, // Boolean kBoolean = 0x05, - + // Vector2 value: U, V + kVector2 = 0x06, // Angle type, there will be rad <-> degree conversions kAngle = 0x10, kQualifiedAngle = 0x30, @@ -81,6 +82,7 @@ COLLADASW::ColladaAnimationClip* colladaClip; MObjectArray animCurves; MPlugArray plugs; + MObject clipFn; /** Returns the plug */ int findPlug ( const MPlug& p ); @@ -91,6 +93,11 @@ return colladaClip->getAnimationClipId(); } + const String& getClipSourceId() const + { + return colladaClip->getAnimationClipSourceId(); + } + }; typedef std::vector AnimationClipList; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAttributeParser.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAttributeParser.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaAttributeParser.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaAttributeParser.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,120 @@ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#ifndef __COLLADA_MAYA_ATTRIBUTE_PARSER_H__ +#define __COLLADA_MAYA_ATTRIBUTE_PARSER_H__ + +#include "COLLADAMayaPrerequisites.h" +#include "COLLADAMayaPlatform.h" + +#include +#include + +namespace COLLADAMaya +{ + + /** + * Helper class used to parse a node's attributes. + */ + class AttributeParser + { + public: + + /** + * Parse attributes of fnNode and call corresponding callbacks of AttributeParser object. + * @param fnNode Parsed node + * @param parser Object inheriting AttributeParser class and implementing some of the onXXX() methods. + */ + static void parseAttributes(MFnDependencyNode & fnNode, AttributeParser & parser); + + protected: + /** + * Callback called before parsing an attribute. + * @param fnNode Parsed node. + * @param attribute Parsed attribute. + * @return false to skip attribute. true to continue attribute parsing. + */ + virtual bool onBeforeAttribute (MFnDependencyNode & fnNode, MObject & attribute) { return true; } + + /** + * Callback called after parsing an attribute. + * @param fnNode Parsed node. + * @param attribute Parsed attribute. + */ + virtual void onAfterAttribute (MFnDependencyNode & fnNode, MObject & attribute) { } + + /** + * Callbacks called when parsing an attribute of given type. + * @param plug Node plug associated to current attribute. + * @param name Current attribute name. + * @param value Current attribute plug value. + */ + virtual void onBoolean (MPlug & plug, const MString & name, bool value) { } + virtual void onByte (MPlug & plug, const MString & name, char value) { } + virtual void onChar (MPlug & plug, const MString & name, char value) { } + virtual void onShort (MPlug & plug, const MString & name, short value) { } + virtual void onShort2 (MPlug & plug, const MString & name, short value[2]) { } + virtual void onShort3 (MPlug & plug, const MString & name, short value[3]) { } + virtual void onInteger (MPlug & plug, const MString & name, int value) { } + virtual void onInteger2 (MPlug & plug, const MString & name, int value[2]) { } + virtual void onInteger3 (MPlug & plug, const MString & name, int value[3]) { } + virtual void onFloat (MPlug & plug, const MString & name, float value) { } + virtual void onFloat2 (MPlug & plug, const MString & name, float value[2]) { } + virtual void onFloat3 (MPlug & plug, const MString & name, float value[3]) { } + virtual void onDouble (MPlug & plug, const MString & name, double value) { } + virtual void onDouble2 (MPlug & plug, const MString & name, double value[2]) { } + virtual void onDouble3 (MPlug & plug, const MString & name, double value[3]) { } + virtual void onDouble4 (MPlug & plug, const MString & name, double value[4]) { } + virtual void onString (MPlug & plug, const MString & name, const MString & value) { } + virtual void onEnum (MPlug & plug, const MString & name, int enumValue, const MString & enumName) { } + virtual void onMesh (MPlug & plug, const MString & name, MObject & meshObject) { } + virtual void onConnection (MPlug & plug, const MString & name, MPlug & externalPlug) { } + virtual void onCompoundAttribute (MPlug & plug, const MString & name) { } + virtual void onAngle (MPlug & plug, const MString & name, const MAngle & angle) { } + virtual void onAngle2 (MPlug & plug, const MString & name, const MAngle angles[2]) { } + virtual void onAngle3 (MPlug & plug, const MString & name, const MAngle angles[3]) { } + virtual void onAngle4 (MPlug & plug, const MString & name, const MAngle angles[4]) { } + virtual void onDistance (MPlug & plug, const MString & name, const MDistance & distance) { } + virtual void onDistance2 (MPlug & plug, const MString & name, const MDistance distances[2]) { } + virtual void onDistance3 (MPlug & plug, const MString & name, const MDistance distances[3]) { } + virtual void onDistance4 (MPlug & plug, const MString & name, const MDistance distances[4]) { } + virtual void onTime (MPlug & plug, const MString & name, MTime & time) { } + virtual void onMessage (MPlug & plug, const MString & name) { } + virtual void onMatrix (MPlug & plug, const MString & name, const MMatrix& value) { } + + private: + void parseAttribute (MFnDependencyNode & fnNode, MObject & attribute, std::set& parsedAttributes); + void parseNumericAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseTypedAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseEnumAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseMessageAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseMatrixAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseCompoundAttribute (MFnDependencyNode & fnNode, MObject & attribute, std::set& parsedAttributes); + void parseUnitAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseGenericAttribute (MFnDependencyNode & fnNode, MObject & attribute); + void parseLightDataAttribute(MFnDependencyNode & fnNode, MObject & attribute); + void parseNumericData (MFnDependencyNode & fnNode, MObject & attribute); + void parseNumeric (MPlug plug, MFnNumericData::Type type); + void parseStringData (MFnDependencyNode & fnNode, MObject & attribute); + void parseMeshData (MFnDependencyNode & fnNode, MObject & attribute); + void parseComponentListData (MFnDependencyNode & fnNode, MObject & attribute); + + static bool IsNumericCompoundAttribute(const MObject& attribute, MFnNumericData::Type& type); + + friend class AutoOnAfterAttribute; + }; +} + +#endif // __COLLADA_MAYA_ATTRIBUTE_PARSER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaDagHelper.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaDagHelper.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaDagHelper.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaDagHelper.h 2016-07-13 19:25:45.000000000 +0000 @@ -57,15 +57,17 @@ static int getChildPlugIndex ( const MPlug& parent, const MString& name, MStatus* rc=NULL ); // Useful for performance reasons when iterating over many plugs // Get/set a plug's value - static bool getPlugValue ( const MObject& node, const String attributeName, double &value ); - static bool getPlugValue ( const MObject& node, const String attributeName, float &value ); - static bool getPlugValue ( const MObject& node, const String attributeName, MEulerRotation& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, bool& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, int& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, MMatrix& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, MColor& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, MString& value ); - static bool getPlugValue ( const MObject& node, const String attributeName, MVector& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, double &value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, float &value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MEulerRotation& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, bool& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, int& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MMatrix& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MColor& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MString& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MVector& value ); + static bool getPlugValue ( const MObject& node, const String& attributeName, int& enumValue, MString& enumName ); + static bool getPlugValue ( const MObject& node, const String& attributeName, MObject& value ); static bool getPlugValue ( const MPlug& plug, bool& value ); static bool getPlugValue ( const MPlug& plug, MMatrix& value ); static bool getPlugValue ( const MPlug& plug, MColor& value ); @@ -79,7 +81,9 @@ static bool getPlugValue ( const MPlug& plug, float& x, float& y ); static bool getPlugValue ( const MPlug& plug, float& x, float& y, float& z ); static bool getPlugValue ( const MPlug& plug, MVector& value ); - static void getPlugValue ( const MObject& node, const String attributeName, MStringArray& output, MStatus* status = NULL ); + static bool getPlugValue ( const MPlug& plug, int& enumValue, MString& enumName ); + static bool getPlugValue ( const MPlug& plug, MObject& value ); + static void getPlugValue ( const MObject& node, const String& attributeName, MStringArray& output, MStatus* status = NULL ); static void getPlugValue ( const MPlug& plug, MStringArray& output, MStatus* status = NULL ); static bool setPlugValue ( MPlug& plug, const MVector& value ); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaDocumentExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaDocumentExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaDocumentExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaDocumentExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -34,23 +34,38 @@ class EffectTextureExporter; class ImageExporter; class GeometryExporter; + class PhysicsExporter; + class PhysXExporter; class VisualSceneExporter; + class PhysicsSceneExporter; class AnimationExporter; class AnimationClipExporter; class AnimationSampleCache; class ControllerExporter; class LightExporter; + class LightProbeExporter; class CameraExporter; + class LODExporter; typedef std::map StringToStringMap; + enum PASS + { + VISUAL_SCENE_PASS = 0, + FIRST_LOD_PASS, + SECOND_LOD_PASS, + DEFAULT = VISUAL_SCENE_PASS + }; /** * The main exporter class. This class exports all data of the scene. */ class DocumentExporter { + public : + + PASS mExportPass; private: @@ -72,9 +87,18 @@ /** Exports the geometry. */ GeometryExporter* mGeometryExporter; + /** Exports the geometry. */ + PhysicsExporter* mPhysicsExporter; + + /** Exports PhysX. */ + PhysXExporter* mPhysXExporter; + /** Exports the visual scene. */ VisualSceneExporter* mVisualSceneExporter; + /** Exports the Physics scene */ + PhysicsSceneExporter* mPhysicsSceneExporter; + /** Exports the animations. */ AnimationExporter* mAnimationExporter; @@ -87,9 +111,15 @@ /** Exports the lights. */ LightExporter* mLightExporter; + /** Exports the light probes. */ + LightProbeExporter* mLightProbeExporter; + /** Exports the cameras. */ CameraExporter* mCameraExporter; + /** Exports LODs. */ + LODExporter* mLODExporter; + /* CAnimCache* animCache; DaeAgeiaPhysicsScene* ageiaPhysicsScene; @@ -125,6 +155,8 @@ /** Tolerance value in double to compare values. */ double mDigitTolerance; + std::vector ParamClipVec; + public: /** @@ -202,6 +234,24 @@ VisualSceneExporter* getVisualSceneExporter(); /** + * Returns a pointer to the physics exporter. + * @return PhysicsExporter* Pointer to the physics exporter + */ + PhysicsExporter* getPhysicsExporter(); + + /** + * Returns a pointer to the PhysX exporter. + * @return PhysXExporter* Pointer to the PhysX exporter + */ + PhysXExporter* getPhysXExporter(); + + /** + * Returns a pointer to the physics scene exporter. + * @return PhysicsSceneExporter* Pointer to the physics scene exporter + */ + PhysicsSceneExporter* getPhysicsSceneExporter(); + + /** * Returns a pointer to the animation exporter. * @return AnimationExporter* Pointer to the animation exporter */ @@ -225,6 +275,18 @@ */ LightExporter* getLightExporter(); + /** + * Returns a pointer to the LOD exporter. + * @return LODExporter* Pointer to the lod exporter + */ + LODExporter* getLODExporter(); + + /** + * Returns a pointer to the light probe exporter. + * @return LightProbeExporter* Pointer to the light probe exporter + */ + LightProbeExporter* getLightProbeExporter(); + /** * Returns a pointer to the camera exporter. * @return CameraExporter* Pointer to the light exporter @@ -235,16 +297,25 @@ * Converts the given string to a valid collada string. * @param str String to convert * @param removeNamespace True, if the namespace should be removed. + * @param removeFirstNamespace True, if first part of namespace should be removed. (namespace1:namespace2:nodeName -> namespace2_nodeName or |namespace1:namespace2:nodeName -> _namespace2_nodeName) * @return MString Maya string with the converted string. */ - static String mayaNameToColladaName ( const MString& str, bool removeNamespace=true ); + static String mayaNameToColladaName(const MString& str, bool removeNamespace = true, bool removeFirstNamespace = false); /** * Make an unique COLLADA Id from a dagPath. * @param dagPath The dag path to convert. + * @param removeFirstNamespace True, if first part of namespace should be removed. (namespace1:namespace2:nodeName -> namespace2_nodeName or |namespace1:namespace2:nodeName -> _namespace2_nodeName) * @return MString The converted collada id. */ - String dagPathToColladaId ( const MDagPath& dagPath ); + String dagPathToColladaId(const MDagPath& dagPath, bool removeFirstNamespace = false); + + /** + * Make a unique COLLADA SID from a dagPath. + * @param dagPath The dag path to convert. + * @return MString The converted COLLADA SID. + */ + String dagPathToColladaSid(const MDagPath & dagPath); /** * Get a COLLADA suitable node name from a DAG path @@ -271,6 +342,10 @@ */ void endExport(); + void saveParamClip(); + + void restoreParamClip(); + // /** // * Exports the user defined extra data of the node. // * @param MObject& node The dependency node which holds the extra data @@ -305,7 +380,7 @@ void exportAsset(); /** Exports the current scene. */ - void exportScene(); + void exportScene(bool exportScene, bool exportPhysics); /** Creates the import/export libraries */ void createLibraries(); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaEffectExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaEffectExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaEffectExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaEffectExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -107,11 +107,6 @@ /** The std::map which stores all already exported effects */ EffectMap mExportedEffectMap; - /** - * The maya id with the collada id. - */ - StringToStringMap mMayaIdColladaImageIdMap; - public: /** A texture channel. @@ -186,6 +181,12 @@ int& nextTextureIndex, bool animated = false ); + void exportTexturedParameter( + const String& effectId, + COLLADASW::EffectProfile* effectProfile, + int& nextTextureIndex, + const URI & fileURI); + /** * Retrieve any texture (file or layered) associated with a material attribute. * @param shader The maya shader object. @@ -209,6 +210,9 @@ /** Exports the effects of a shader */ void exportEffect ( MObject& shadingEngine ); + /** Exports material extra attributes. */ + void exportExtraAttributes(const MObject& shader, COLLADASW::EffectProfile& effectProfile); + /** Generated the collada effect id. */ const String generateColladaEffectId ( const MObject& shader, @@ -233,6 +237,14 @@ COLLADASW::EffectProfile *effectProfile, MObject shadingNetwork ); +#if MAYA_API_VERSION >= 201500 + /** Export a shaderfx shader node. */ + void exportShaderFXShader( + const String & effectId, + COLLADASW::EffectProfile* effectProfile, + MObject & shader); +#endif + /** * Exports the transparency. * @param shadingNetwork Maya object to export. diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaEffectTextureExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaEffectTextureExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaEffectTextureExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaEffectTextureExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -125,6 +125,11 @@ int blendMode, const String &targetPath ); + void exportTexture( + COLLADASW::Texture* colladaTexture, + const String & channelSemantic, + const URI & fileURI); + /** * Returns the std::map with the exported images. * @return const ImageMap* diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaExportOptions.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaExportOptions.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaExportOptions.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaExportOptions.h 2016-07-13 19:25:45.000000000 +0000 @@ -37,12 +37,21 @@ /** General export options */ /****************************/ + /** DAE ModelPathName when exporting into two separate files */ + static MString mDAEmodelName; + + /** True, if we want to export LOD from LODGroup. */ + static bool mLOD; + /** True, if we should a write transform matrix. */ static bool mBakeTransforms; /** True, if we should write relative pathes to external file references. */ static bool mRelativePaths; + /** True, if we should keep source files tree. */ + static bool mPreserveSourceTree; + /** True, if the texture files should be copied to the destination folder. */ static bool mCopyTextures; static bool mExportTriangles; @@ -58,12 +67,17 @@ /****************************/ /** Filter export */ /****************************/ - + static bool mExportPhysics; + static bool mExportConvexMeshGeometries; static bool mExportPolygonMeshes; static bool mExportLights; static bool mExportCameras; - static bool mExportJointsAndSkin; - static bool mExportAnimations; + static bool mExportJoints; + static bool mExportSkin; + static bool mExportAnimationsOnly; + static bool mExportSeparateFile; + static bool mExportAnimations; + static bool mExportOptimizedBezierAnimations; static bool mExportInvisibleNodes; static bool mExportDefaultCameras; static bool mExportTexCoords; @@ -105,11 +119,14 @@ /****************************/ /** General export options */ /****************************/ + static MString getDAEmodelName(); + static bool exportLOD(); /** Should the transforms be baked into a single matrix, as opposed to decomposed into primitive collada transforms (e.g. translate, rotate, scale)? Default: FALSE */ static bool bakeTransforms(); static bool relativePaths(); + static bool preserveSourceTree(); /** True, if the texture files should be copied to the destination folder. */ static bool copyTextures(); @@ -126,11 +143,18 @@ /** Filter export */ /****************************/ + static bool exportPhysics(); + static void setExportPhysics(bool value); + static bool exportConvexMeshGeometries(); static bool exportPolygonMeshes(); static bool exportLights(); static bool exportCameras(); - static bool exportJointsAndSkin(); + static bool exportJoints(); + static bool exportSkin(); + static bool exportAnimationsOnly(); + static bool exportSeparateFile(); static bool exportAnimations(); + static bool exportOptimizedBezierAnimations(); static bool exportInvisibleNodes(); static bool exportDefaultCameras(); static bool exportTexCoords(); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -123,37 +123,37 @@ bool exportGeometry ( SceneElement* sceneElement ); /** Exports all geometry data of the current mesh. */ - bool exportMesh ( MFnMesh& fnMesh, const String& meshId, const String& meshName ); + bool exportMesh ( MObject& fnMesh, const String& meshId, const String& meshName ); /** * Get the uv set names of the current mesh. * @param fnMesh The mesh object. * @param uvSetNames String array for the uv set names. */ - void getUVSetNames( const MFnMesh &fnMesh, MStringArray &uvSetNames ); + void getUVSetNames( const MObject &mesh, MStringArray &uvSetNames ); /** Exports an extra tag. */ - void exportExtraTechniqueParameters ( const MFnMesh& fnMesh, const String& mayaMeshName ); + void exportExtraTechniqueParameters ( const MObject& mesh, const String& mayaMeshName ); /** Exports the double sided extra tag. */ - bool isDoubleSided ( const MFnMesh& fnMesh ); + bool isDoubleSided(const MObject& mesh); /** Export the vertex positions of the current mesh */ - void exportVertexPositions ( const MFnMesh& fnMesh, const String& meshId ); + void exportVertexPositions(const MObject& mesh, const String& meshId); /** Export the vertex normals of the current mesh */ - bool exportVertexNormals ( const MFnMesh& fnMesh, const String& meshId ); + bool exportVertexNormals(MObject& mesh, const String& meshId); /** Implement TangentSource and BinormalSource. */ void exportTangentsAndBinormals( - const MFnMesh& fnMesh, + MObject& mesh, const String& meshId, const bool perVertexNormals, const MFloatVectorArray& normals ); /** Calculate the geometric tangents and binormals(T/Bs). */ void getTangents( - const MFnMesh& fnMesh, + const MObject& mesh, const MFloatVectorArray& normals, uint normalCount, MVectorArray& binormals, @@ -161,14 +161,14 @@ /** Calculate the geometric tangents and binormals(T/Bs) in case of "per vertex normals". */ void getPerVertexNormalsTangents( - const MFnMesh& fnMesh, + MObject& mesh, const MFloatVectorArray& normals, MVectorArray& tangents, MVectorArray& binormals ); /** Implement NormalSource. */ bool exportNormals( - const MFnMesh& fnMesh, + const MObject& mesh, const String& meshId, MFloatVectorArray& normals ); @@ -184,14 +184,22 @@ * Export the texture coordinates listed in the two arrays given in argument, * that correspond respectively to the Maya uv set name and the collada texcoord id. */ - void exportTextureCoords ( const MFnMesh& fnMesh, + void exportTextureCoords(const MObject& mesh, const String& meshId, const MStringArray& uvSetNames ); + /** + * Checks if mesh contains vertices with no vertex color from given color set. + */ + static bool hasMissingVertexColor( + const MObject & mesh, + const MString & colorSetName + ); + /** * Export the color sets. Returns true if we should proceed to export the given color set Ids. */ - void exportColorSets ( const MFnMesh& fnMesh, const String& meshId, MStringArray& colorSetNames ); + void exportColorSets(const MObject& mesh, const String& meshId, MStringArray& colorSetNames); /** Export the vertices tag with a link to the positions. */ void exportVertices ( const String& meshId ); @@ -199,7 +207,7 @@ /** * Export the texture tangents and binormals. */ - void exportTextureTangentsAndBinormals ( const MFnMesh &fnMesh, const String& meshId ); + void exportTextureTangentsAndBinormals(const MObject& mesh, const String& meshId); }; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryPolygonExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryPolygonExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryPolygonExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaGeometryPolygonExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -121,7 +121,7 @@ * Exports the data of all polygons from the shaders in the mesh. */ void exportPolygonSources ( - MFnMesh& fnMesh, + const MObject& mesh, const String& meshId, MStringArray& uvSetNames, MStringArray& colorSetNames, @@ -135,14 +135,14 @@ * Exports the data of all polygons of the current shader. * @param fnMesh The current mesh object. */ - void exportShaderPolygons ( MFnMesh &fnMesh ); + void exportShaderPolygons(const MObject& mesh); /** * Verify the polygons of the meshes shader for holes. * @param fnMesh The current mesh object. * @return bool True, if the shader has a holed polygon. */ - bool verifyPolygonsForHoles( const MFnMesh &fnMesh ); + bool verifyPolygonsForHoles(const MObject& mesh); /** * Prepares the polylist in the collada file to add the list values. @@ -152,7 +152,7 @@ * @return COLLADASW::PrimitivesBase* Pointer to the created Template object. */ COLLADASW::PrimitivesBase* preparePrimitivesBase( - const MFnMesh& fnMesh, + const MObject& mesh, const uint numPolygons, const uint currentShapeIsHoled ); @@ -164,7 +164,7 @@ void writeShaderPolygons( COLLADASW::PrimitivesBase* primitivesBasePoly, const uint baseExportType, - MFnMesh &fnMesh ); + const MObject& mesh); /** * Retrieve the vertex indices and establish the number of polygons (in case of @@ -177,7 +177,7 @@ * @param numVertices Number of vertices in the current mesh. */ void initializePolygonSource( - const MFnMesh &fnMesh, + const MObject& mesh, MItMeshPolygon &meshPolygonsIter, PolygonSource &polygon, MIntArray &vertexIndices, @@ -198,7 +198,7 @@ void writeElementVertexIndices( COLLADASW::PrimitivesBase* primitivesBasePoly, PolygonSource* polygon, - MFnMesh &fnMesh, + const MObject& mesh, MItMeshPolygon &meshPolygonsIter, const uint baseExportType, const MIntArray &vertexIndices, @@ -218,7 +218,7 @@ * @param fnMesh The current mesh object. * @return bool True, if all polygons in the mesh are triangles. */ - bool verifyTriangulation ( MFnMesh &fnMesh ); + bool verifyTriangulation(const MObject& mesh); /** * Create the real Polylist/Polygons/Triangles element. @@ -265,7 +265,7 @@ const MIntArray &normalIndices, const int iteratorVertexIndex, MItMeshPolygon &meshPolygonsIter, - MFnMesh &fnMesh, + const MObject& mesh, const int polyIndex ); /** @@ -305,14 +305,14 @@ */ void writeVertexCountList( COLLADASW::PrimitivesBase* primitivesBase, - const MFnMesh &fnMesh ); + const MObject& mesh); /** * Counts the number of polygons in the current shape. * @param fnMesh The mesh object. * @return uint Number of polygons in the current shape. */ - uint getShaderPolygonsCount( const MFnMesh &fnMesh ); + uint getShaderPolygonsCount(const MObject& mesh); /** * Establish the number of vertexes in the polygon. diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaHwShaderExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaHwShaderExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaHwShaderExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaHwShaderExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -29,6 +29,10 @@ #include +#if MAYA_API_VERSION >= 201200 +class cgfxTechnique; +#endif // MAYA_API_VERSION >= 201200 + namespace COLLADAMaya { @@ -85,7 +89,12 @@ /** Export the effects parameter. */ void exportEffectParameters ( MObject shaderNode, - const CGeffect &cgEffect ); +#if MAYA_API_VERSION < 201200 + const CGeffect &cgEffect +#else // MAYA_API_VERSION < 201200 + const cgfxRCPtr& cgEffect +#endif // MAYA_API_VERSION < 201200 + ); /** Create the annotation data of the given parameter and push it in the list. */ void getAnnotations ( @@ -112,16 +121,20 @@ const Type* paramValues, const int numOfValues ); - void exportParam ( - const CGparameter& cgParameter, - COLLADASW::ParamBase* param, - const String& paramValue ); + void exportParam ( + const CGparameter& cgParameter, + COLLADASW::ParamBase* param, + const String& paramValue ); /** Exports the annotation data of the given parameter. */ void exportAnnotations ( const CGparameter &cgParameter, COLLADASW::ParamBase *param ); /** Exports the semantic data of the given parameter. */ void exportSemantic( const CGparameter &cgParameter, COLLADASW::ParamBase *param ); +#if MAYA_API_VERSION >= 201200 + /** Write the current technique and all sub-elements into the current collada document. */ + void exportTechnique( const cgfxTechnique* technique ); +#endif // MAYA_API_VERSION >= 201200 /** Write the current technique and all sub-elements into the current collada document. */ void exportTechnique ( const CGtechnique &cgTechnique ); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLightExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLightExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLightExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLightExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -67,6 +67,8 @@ /** Exports the geometry data of the current object, if it is a valid mesh object to export. */ bool exportLight ( const MDagPath& dagPath ); + void exportExtraAttributes(const SceneElement* sceneElement, COLLADASW::Light* light); + }; } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLightProbeExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLightProbeExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLightProbeExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLightProbeExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,183 @@ +/* + Copyright (c) 2015 Starbreeze AB + + This file is part of COLLADAMaya. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#ifndef __COLLADA_MAYA_LIGHT_PROBE_EXPORTER_H__ +#define __COLLADA_MAYA_LIGHT_PROBE_EXPORTER_H__ + +#include "COLLADAMayaPrerequisites.h" +#include "COLLADASWStreamWriter.h" +#include "COLLADASWLibrary.h" +#include "COLLADASWExtraTechnique.h" + +namespace COLLADASW +{ + /** A class that holds informations of an @a \ element and writes it to stream. */ + class InstanceLightProbe : public ElementWriter + { + + private: + + /** The url to the light probe information (library_light_probes) */ + URI mUrl; + String mSid; + String mName; + + public: + /** + * Constructor + * @param url The url + * @param sid The sid + * @param name The name + */ + InstanceLightProbe ( StreamWriter* streamWriter, const URI& url, String sid="", String name="" ) + : ElementWriter ( streamWriter ) + , mUrl ( url ) + , mSid ( sid ) + , mName ( name ) + {} + + /** Returns the url */ + const URI& getUrl() const + { + return mUrl; + } + + /** Returns the sid */ + const String& getSid() const + { + return mSid; + } + + /** Returns the name */ + const String& getName() const + { + return mName; + } + + /** Write the instance light probe to the stream*/ + void add(); + + }; + + /** A class that hold all information about a @a \ element.*/ + class LightProbe : public ElementWriter, public BaseExtraTechnique + { + private: + + friend class LibraryLightProbes; + + /** The id of the light probe.*/ + String mLightProbeId; + + /** The name of the light probe.*/ + String mLightProbeName; + + protected: + + /** Adds the light probe information. */ + void add() const; + + public: + + /** + * Constructor + * @param lightProbeId The id of the light probe. + * @param lightProbeName The name of the light probe. + */ + LightProbe( + StreamWriter* streamWriter, + const String& lightProbeId, + const String& lightProbeName = ElementWriter::EMPTY_STRING); + + /** Destructor */ + virtual ~LightProbe() {}; + + /** Returns a reference to the light probe id */ + const String& getLightProbeId() const { return mLightProbeId; } + + /** Returns a reference to the light probe name */ + const String& getLightProbeName() const { return mLightProbeName; } + + /** The name of the light probe.*/ + void setLightProbeName ( const String& val ) { mLightProbeName = val; } + }; + + /** Class to simply the creation of @a \ and @a \'s*/ + class LibraryLightProbes : public Library, public BaseExtraTechnique + { + + public: + /** Constructor + @param streamWriter The stream the @a \ and @a \'s + should be written to. + */ + LibraryLightProbes(StreamWriter* streamWriter); + + /** Destructor */ + virtual ~LibraryLightProbes() {} + + protected: + /** Adds @a \ element. If not already opened, it opens @a \*/ + void addLightProbe(const LightProbe& lightProbe); + + }; +} + +namespace COLLADAMaya +{ + + /** This class writes the . */ + class LightProbeExporter : public COLLADASW::LibraryLightProbes + { + private: + + /** Pointer to the document exporter */ + DocumentExporter* mDocumentExporter; + + /** + * The list of the unique collada ids. + */ + COLLADABU::IDList mLightProbeIdList; + + /** + * A collada id for every maya id. + */ + StringToStringMap mMayaIdColladaIdMap; + + public: + + /** + * @param streamWriter The stream the output will be written to + * @param documentExporter The document exporter this material exporter is used in + */ + LightProbeExporter ( COLLADASW::StreamWriter* streamWriter, DocumentExporter* documentExporter ); + virtual ~LightProbeExporter() {}; + + /** Exports the light probes in the scene graph. */ + void exportLightProbes ( ); + + /** Exports the current scene element and all it's children. */ + void exportLightProbes ( SceneElement* sceneElement ); + + /** + * A collada id for every maya id. + */ + const String findColladaLightProbeId ( const String& mayaLightProbeId ); + + private: + + /** Exports the geometry data of the current object, if it is a valid mesh object to export. */ + bool exportLightProbe ( const MDagPath& dagPath ); + + }; + +} + +#endif //__COLLADA_MAYA_LIGHT_PROBE_EXPORTER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLODExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLODExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaLODExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaLODExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,53 @@ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#ifndef __COLLADA_MAYA_LOD_EXPORTER_H__ +#define __COLLADA_MAYA_LOD_EXPORTER_H__ + +#include "COLLADAMayaPrerequisites.h" +#include "COLLADASWStreamWriter.h" +#include "COLLADASWLibraryNodes.h" +#include "COLLADAMayaDocumentExporter.h" + +namespace COLLADAMaya +{ + + /** This class writes the . */ + class LODExporter : public COLLADASW::LibraryNodes + { + + private: + + /** Pointer to the document exporter */ + DocumentExporter* mDocumentExporter; + + public: + + /** + * @param streamWriter The stream the output will be written to + * @param documentExporter The document exporter this material exporter is used in + */ + LODExporter(COLLADASW::StreamWriter* streamWriter, DocumentExporter* documentExporter); + virtual ~LODExporter() {}; + + /** Exports the nodes in and add extra techniques with to instance_node. */ + void exportLODs(VisualSceneExporter* mVisualSceneExporter); + + void exportLOD(VisualSceneExporter* mVisualSceneExporter, SceneElement* sceneElement); + }; + +} + +#endif //__COLLADA_MAYA_LOD_EXPORTER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,162 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ +#ifndef __COLLADA_MAYA_PHYSICS_EXPORTER_H__ +#define __COLLADA_MAYA_PHYSICS_EXPORTER_H__ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaDocumentExporter.h" +#include "COLLADAMayaSceneElement.h" +#include +#include +#include +#include +#include "COLLADASWStreamWriter.h" +#include "COLLADASWLibraryPhysicsModels.h" +#include "COLLADABUIDList.h" + + +namespace COLLADAMaya +{ + + class DocumentExporter; + class ElementWriter; + + + + /************************************************************************/ + /* This class writes the . */ + /************************************************************************/ + class PhysicsExporter : public COLLADASW::LibraryPhysicsModels + { + public: + + typedef struct BodyTarget { + String Body; + String Target; + } BodyTarget; + + // dae -> vector map + typedef std::map > DaeToIRBMap; + + private: + + /** + * The list of the unique collada ids. + */ + COLLADABU::IDList mPhysicsIdList; + + /** + * Pointer to the document exporter. + */ + DocumentExporter* mDocumentExporter; + + /** + * A collada id for every maya id. + */ + StringToStringMap mMayaIdColladaIdMap; + + DaeToIRBMap mInstanceRigidBodies; + + public: + + enum collisionShape + { + Box = 0, + Capsule = 1, + Convex_mesh = 2, + Mesh = 3 + }; + + /* @param streamWriter The stream the output will be written to */ + PhysicsExporter ( COLLADASW::StreamWriter* streamWriter, DocumentExporter* documentExporter ); + virtual ~PhysicsExporter(); + + /** Walk through the scene graph and export all geometries. */ + void exportAllPhysics(); + + /** closes the physics tags in the collada document */ + void endExport(); + + /** Generate the collada id, if not done before and stores it in the scene element. */ + const String generateColladaRigidBodyId ( const MDagPath dagPath, bool isLocal ); + + /** export physics element */ + void exportPhysics ( SceneElement* sceneElement ); + + /** Returns the collada geometry id of the current physics node. */ + const String& getColladaPhysicsId ( MDagPath dagPath ); + + const DaeToIRBMap& getInstanceRigidBodies() { return mInstanceRigidBodies; } + + /** Returns if the node is a solver bullet node. */ + bool isBulletRigidBodySolverNode(MDagPath& dagPath); + + /** Returns if the node is a rigid bullet node. */ + bool isBulletRigidBodyNode(MDagPath& dagPath); + + /** Gravity field vector. */ + static MVector gravityField; + + /** Returns the gravity field from the solver bullet node. */ + void getGravityField(); + + private: + + static String GetRigidBodyReferenceFilename(const SceneElement* pSceneElement); + + /** + * A collada id for every maya id. + */ + const String& findColladaPhysicsId ( const String& mayaPhysicsId ); + + /** Returns the tolerance value for double value comparison. */ + const double getTolerance () const + { + return mDocumentExporter->getTolerance (); + } + + /** Exports the current scene element and all it's children. */ + void exportAllPhysics ( SceneElement* sceneElement, bool isVisible ); + + /** export physics element */ + bool exportPhysicsElement(SceneElement* sceneElement); + + /** Exports all physics data of the current mesh. */ + bool exportPhysicsModel(SceneElement* sceneElement); + + void createShape(MDagPath& childDagPath, MTransformationMatrix mPhysicsShapeTransformMatrix, MTransformationMatrix mGraphicShapeTransformMatrix); + + void UpdateSceneElement(MObject& child, bool result, bool needExport); + + /** Export Transformation Stuff */ + void exportDecomposedTransform(); + void exportTranslation(const String name, const MPoint& translation); + void exportTranslation(const String name, const MVector& translation); + void exportRotation(const String name, const MEulerRotation& rotation); + + private: + + bool firstimeOpenPhysModel; + + /** Export Transformation Stuff */ + bool mIsJoint; + bool mIsFirstRotation; + + MTransformationMatrix mFinalTransformMatrix; + MObject mTransformObject; + }; +} + +#endif //__COLLADA_MAYA_PHYSICS_EXPORTER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsSceneExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsSceneExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsSceneExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysicsSceneExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,82 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#ifndef __COLLADA_MAYA_PHYSICS_SCENE_EXPORTER_H__ +#define __COLLADA_MAYA_PHYSICS_SCENE_EXPORTER_H__ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADASWLibraryPhysicsScenes.h" +#include "COLLADASWStreamWriter.h" +#include "COLLADASWInstanceRigidBody.h" + +#include "COLLADAMayaDocumentExporter.h" +#include "COLLADAMayaSceneElement.h" + +#include "COLLADABUIDList.h" + +#include +#include +#include + + +class DocumentExporter; + +namespace COLLADAMaya +{ + + /** + * Exports the transform data of the visual scene. + * + * All transform components with units will be in maya's internal units + * (radians for rotations and centimeters for translations). + * We have to translate them into the working units of the current scene! + */ + class PhysicsSceneExporter : public COLLADASW::LibraryPhysicsScenes + { + + private: + + /** The id of the current scene. */ + String mSceneId; + + /** Pointer to the document exporter. */ + DocumentExporter* mDocumentExporter; + + + public: + + /** + * Constructor + * @param streamWriter Pointer to the collada stream writer. + * @param documentExporter Pointer to the main document exporter. + * @param sceneId Name of the current scene to export. Has an empty string as default value. + */ + PhysicsSceneExporter ( COLLADASW::StreamWriter* streamWriter, + DocumentExporter* documentExporter, + const String& sceneId = EMPTY_STRING ); + /** + * Destructor. + */ + virtual ~PhysicsSceneExporter() {}; + + /** + * Exports the visual scene with the transforms of all included elements + */ + bool exportPhysicsScenes(); + }; + +} + +#endif //__COLLADA_MAYA_VISUAL_SCENE_EXPORTER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysXExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysXExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaPhysXExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaPhysXExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,199 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ +#ifndef __COLLADA_MAYA_PHYSX_EXPORTER_H__ +#define __COLLADA_MAYA_PHYSX_EXPORTER_H__ + +#include "COLLADAMayaDocumentExporter.h" +#include "COLLADAMayaPhysXXML.h" +#include "COLLADAMayaSceneElement.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADASWLibraryPhysicsModels.h" + +namespace COLLADAMaya +{ + // Unit for mass: kg + // Unit for density: g/cm3 + + class MStringComp + { + public: + bool operator()(const MString & a, const MString & b) const + { + return strcmp(a.asChar(), b.asChar()) < 0; + } + }; + + class PhysXRigidConstraint + { + public: + static void GetSwingConeAndTwistMinLimit(const MObject & rigidConstraint, MVector & min); + static void GetSwingConeAndTwistMaxLimit(const MObject & rigidConstraint, MVector & max); + static void GetLinearMinLimit (const MObject & rigidConstraint, MVector & min); + static void GetLinearMaxLimit (const MObject & rigidConstraint, MVector & max); + static void GetSpringAngularStiffness (const MObject & rigidConstraint, double & stiffness); + static void GetSpringAngularDamping (const MObject & rigidConstraint, double & damping); + static void GetSpringAngularTargetValue (const MObject & rigidConstraint, double & targetValue); + static void GetSpringLinearStiffness (const MObject & rigidConstraint, double & stiffness); + static void GetSpringLinearDamping (const MObject & rigidConstraint, double & damping); + static void GetSpringLinearTargetValue (const MObject & rigidConstraint, double & targetValue); + }; + + class PhysXShape + { + public: + static void GetType(const MObject & shape, MString & type); + static void GetInMesh(const MObject & shape, MObject & mesh); + static void GetConnectedInMesh(const MObject & shape, MObject & mesh); + }; + + class PhysXExporter + { + public: + PhysXExporter(COLLADASW::StreamWriter& streamWriter, DocumentExporter& documentExporter); + + static bool CheckPhysXPluginVersion(); + static MString GetRequiredPhysXPluginVersion(); + static MString GetInstalledPhysXPluginVersion(); + + bool generatePhysXXML(); + bool needsConvexHullOf(const SceneElement & element, MObject & shape); + bool exportPhysicsLibraries(); + + COLLADASW::StreamWriter& getStreamWriter(); + DocumentExporter& getDocumentExporter(); + + void exportTranslationWithoutConversion(const MVector & translation, const String & sid = ""); + void exportTranslation(const MVector & translation, const String & sid = ""); + void exportRotation(const MEulerRotation & rotation, const String & sid = ""); + void exportAttributes(const MObject & object, const std::set & attributes); + void exportExtraAttributes(const MObject & object); + void exportMaterialPhysXXML(const MObject& material); + void exportShapePhysXXML(const MObject& rigidBody, const MObject& shape); + void exportRigidBodyPhysXXML(const MObject& shape); + void exportRigidConstraintPhysXXML(const MObject& constraint); + + MObject getNodeRigidBody(const MObject& node); + MObject getShapeRigidBody(const MObject& shape); + void getShapeLocalPose(const MObject& rigidBody, const MObject& shape, MMatrix& localPose); + bool getShapeVertices(const MObject& shape, std::vector & vertices, MString & meshId); + bool getShapeTriangles(const MObject& shape, std::vector & triangles); + void getRigidBodyGlobalPose(const MObject& rigidBody, MMatrix& globalPose); + void getRigidBodyTarget(const MObject& rigidBody, MObject& target); + bool getRigidSolver(MObject & rigidSolver); + + MStatus getMeshURI(const MObject & mesh, URI & meshURI); + + String generateColladaId(const MDagPath & dagPath); + String generateColladaName(const MDagPath & dagPath); + + // Stop parsing if callback returns false + template + void parseSceneElements(T & callbackObject) + { + SceneGraph& sceneGraph = *mDocumentExporter.getSceneGraph(); + SceneElementsList& exportNodesTree = *sceneGraph.getExportNodesTree(); + + // Export all/selected DAG nodes + for (size_t i = 0; i < exportNodesTree.size(); ++i) + { + SceneElement& sceneElement = *exportNodesTree[i]; + if (!parseSceneElement(sceneElement, callbackObject)) + { + return; + } + } + } + + // in kg + static double GetRigidBodyMass(const MObject & rigidBody); + static double GetShapeMass(const MObject & shape); + + // in cm3 + static double GetRigidBodyVolume(const MObject & rigidBody); + static double GetShapeVolume(const MObject & shape); + + static void GetRigidBodyShapes(const MObject & rigidBody, std::vector & shapes); + static MStatus GetPluggedObject(const MObject & object, const MString & attribute, MObject & pluggedObject); + + static const String& GetDefaultPhysicsModelId(); + static const String& GetDefaultPhysicsSceneId(); + static const String& GetDefaultInstancePhysicsModelSid(); + static const String& GetProfile(); + static const String& GetProfileXML(); + + static bool HasExtraAttributes(const MObject & object); + + enum Filter + { + All, + Local, + Reference + }; + bool sceneHas(SceneElement::Type type, Filter filter = All); + + PhysXXML::PxRigidStatic* findPxRigidStatic(const String& name); + PhysXXML::PxMaterial* findPxMaterial(uint64_t ref); + PhysXXML::PxMaterial* findPxMaterial(const MObject& rigidBody); + PhysXXML::PxShape* findPxShape(const MObject& rigidBody, const MObject& shape); + PhysXXML::PxRigidStatic* findPxRigidStatic(uint64_t id); + PhysXXML::PxRigidStatic* findPxRigidStatic(const MObject& rigidBody); + PhysXXML::PxRigidDynamic* findPxRigidDynamic(uint64_t id); + PhysXXML::PxRigidDynamic* findPxRigidDynamic(const MObject& rigidBody); + PhysXXML::PxD6Joint* findPxD6Joint(const MObject& rigidConstraint); + + private: + void exportRotate(const MVector & axis, double angle, const String & sid = ""); + + static bool ElementHas(const SceneElement & element, SceneElement::Type type, Filter filter); + + const String & findColladaId(const String & mayaId); + + template + bool parseSceneElement(SceneElement& element, T & callbackObject) + { + if (!callbackObject(element)) + { + return false; + } + + // Recursive call for all the child elements + for (uint i = 0; i + +#if defined(_MSC_VER) && _MSC_VER < 1600 +// int64_t only available since Visual Studio 2010 +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +#include +#endif + +namespace COLLADAMaya +{ + namespace PhysXXML + { + struct UpVector + { + UpVector(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector upVector; + }; + + struct Length + { + Length(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double length; + }; + + struct Mass + { + Mass(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double mass; + }; + + struct Speed + { + Speed(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double speed; + }; + + struct LengthMassSpeedScale + { + LengthMassSpeedScale(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Length length; + Mass mass; + Speed speed; + }; + + struct Id + { + Id(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t id; + }; + + struct Point + { + Point(); + + double x; + double y; + double z; + }; + + struct Points + { + Points(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + std::vector points; + }; + + struct PxConvexMesh + { + PxConvexMesh(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Id id; + Points points; + }; + + struct Triangle + { + Triangle(); + + int point0; + int point1; + int point2; + }; + + struct Triangles + { + Triangles(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + std::vector triangles; + }; + + struct PxTriangleMesh + { + PxTriangleMesh(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Id id; + Points points; + Triangles triangles; + }; + + struct DynamicFriction + { + DynamicFriction(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double dynamicFriction; + }; + + struct StaticFriction + { + StaticFriction(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double staticFriction; + }; + + struct Restitution + { + Restitution(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double restitution; + }; + + struct FrictionCombineMode + { + FrictionCombineMode(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String frictionCombineMode; + }; + + struct RestitutionCombineMode + { + RestitutionCombineMode(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String restitutionCombineMode; + }; + + struct PxMaterial + { + PxMaterial(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Id id; + DynamicFriction dynamicFriction; + StaticFriction staticFriction; + Restitution restitution; + FrictionCombineMode frictionCombineMode; + RestitutionCombineMode restitutionCombineMode; + }; + + struct Name + { + Name(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String name; + }; + + struct ActorFlags + { + ActorFlags(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String actorFlags; + }; + + struct RigidBodyFlags + { + RigidBodyFlags(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String rigidBodyFlags; + }; + + struct DominanceGroup + { + DominanceGroup(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int dominanceGroup; + }; + + struct OwnerClient + { + OwnerClient(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int ownerClient; + }; + + struct GlobalPose + { + GlobalPose(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct HalfExtents + { + HalfExtents(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector halfExtents; + }; + + struct PxBoxGeometry + { + PxBoxGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + HalfExtents halfExtents; + }; + + struct Radius + { + Radius(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double radius; + }; + + struct HalfHeight + { + HalfHeight(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double halfHeight; + }; + + struct PxCapsuleGeometry + { + PxCapsuleGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Radius radius; + HalfHeight halfHeight; + }; + + struct Scale + { + Scale(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector scale; + }; + + struct Rotation + { + Rotation(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + }; + + struct MeshScale + { + MeshScale(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Scale scale; + Rotation rotation; + }; + + struct ConvexMesh + { + ConvexMesh(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t convexMesh; + }; + + struct PxConvexMeshGeometry + { + PxConvexMeshGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MeshScale scale; + ConvexMesh convexMesh; + }; + + struct PxPlaneGeometry + { + PxPlaneGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + }; + + struct PxSphereGeometry + { + PxSphereGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Radius radius; + }; + + struct TriangleMesh + { + TriangleMesh(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t triangleMesh; + }; + + struct PxTriangleMeshGeometry + { + PxTriangleMeshGeometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MeshScale scale; + TriangleMesh triangleMesh; + }; + + struct Geometry + { + Geometry(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + + enum Type { + Box, + Capsule, + ConvexMesh, + Plane, + Sphere, + TriangleMesh + }; + + Type type; + PxBoxGeometry boxGeometry; + PxCapsuleGeometry capsuleGeometry; + PxConvexMeshGeometry convexMeshGeometry; + PxPlaneGeometry planeGeometry; + PxSphereGeometry sphereGeometry; + PxTriangleMeshGeometry triangleMeshGeometry; + }; + + struct LocalPose + { + LocalPose(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct SimulationFilterData + { + SimulationFilterData(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int filter0; + int filter1; + int filter2; + int filter3; + }; + + struct QueryFilterData + { + QueryFilterData(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int filter0; + int filter1; + int filter2; + int filter3; + }; + + struct PxMaterialRef + { + PxMaterialRef(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t materialRef; + }; + + struct Materials + { + Materials(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + PxMaterialRef materialRef; + }; + + struct ContactOffset + { + ContactOffset(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double contactOffset; + }; + + struct RestOffset + { + RestOffset(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double restOffset; + }; + + struct Flags + { + Flags(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String flags; + }; + + struct PxShape + { + PxShape(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + + Geometry geometry; + LocalPose localPose; + SimulationFilterData simulationFilterData; + QueryFilterData queryFilterData; + Materials materials; + ContactOffset contactOffset; + RestOffset restOffset; + Flags flags; + Name name; + }; + + struct Shapes + { + Shapes(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + std::vector shapes; + }; + + struct PxRigidStatic + { + PxRigidStatic(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + PxShape* findShape(const String& shapeName); + Id id; + Name name; + ActorFlags actorFlags; + DominanceGroup dominanceGroup; + OwnerClient ownerClient; + GlobalPose globalPose; + Shapes shapes; + }; + + struct CMassLocalPose + { + CMassLocalPose(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct MassSpaceInertiaTensor + { + MassSpaceInertiaTensor(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector massSpaceInertiaTensor; + }; + + struct LinearVelocity + { + LinearVelocity(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector linearVelocity; + }; + + struct AngularVelocity + { + AngularVelocity(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector angularVelocity; + }; + + struct MinCCDAdvanceCoefficient + { + MinCCDAdvanceCoefficient(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double minCCDAdvanceCoefficient; + }; + + struct MaxDepenetrationVelocity + { + MaxDepenetrationVelocity(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double maxDepenetrationVelocity; + }; + + struct LinearDamping + { + LinearDamping(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double linearDamping; + }; + + struct AngularDamping + { + AngularDamping(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double angularDamping; + }; + + struct MaxAngularVelocity + { + MaxAngularVelocity(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double maxAngularVelocity; + }; + + struct SleepThreshold + { + SleepThreshold(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double sleepThreshold; + }; + + struct StabilizationThreshold + { + StabilizationThreshold(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double stabilizationThreshold; + }; + + struct WakeCounter + { + WakeCounter(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double wakeCounter; + }; + + struct MinPositionIters + { + MinPositionIters(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int minPositionIters; + }; + + struct MinVelocityIters + { + MinVelocityIters(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + int minVelocityIters; + }; + + struct SolverIterationCounts + { + SolverIterationCounts(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MinPositionIters minPositionIters; + MinVelocityIters minVelocityIters; + }; + + struct ContactReportThreshold + { + ContactReportThreshold(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double contactReportThreshold; + }; + + struct PxRigidDynamic + { + PxRigidDynamic(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + PxShape* findShape(const String& shapeName); + Id id; + Name name; + ActorFlags actorFlags; + DominanceGroup dominanceGroup; + OwnerClient ownerClient; + GlobalPose globalPose; + Shapes shapes; + CMassLocalPose cMassLocalPose; + Mass mass; + MassSpaceInertiaTensor massSpaceInertiaTensor; + LinearVelocity linearVelocity; + AngularVelocity angularVelocity; + RigidBodyFlags rigidBodyFlags; + MinCCDAdvanceCoefficient minCCDAdvanceCoefficient; + MaxDepenetrationVelocity maxDepenetrationVelocity; + LinearDamping linearDamping; + AngularDamping angularDamping; + MaxAngularVelocity maxAngularVelocity; + SleepThreshold sleepThreshold; + StabilizationThreshold stabilizationThreshold; + WakeCounter wakeCounter; + SolverIterationCounts solverIterationCounts; + ContactReportThreshold contactReportThreshold; + }; + + struct Actor0 + { + Actor0(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t actor0; + }; + + struct Actor1 + { + Actor1(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + uint64_t actor1; + }; + + struct Actors + { + Actors(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Actor0 actor0; + Actor1 actor1; + }; + + struct EActor0 + { + EActor0(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct EActor1 + { + EActor1(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct ActorLocalPose + { + ActorLocalPose(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + EActor0 eActor0; + EActor1 eActor1; + }; + + struct Force + { + Force(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double force; + }; + + struct Torque + { + Torque(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double torque; + }; + + struct BreakForce + { + BreakForce(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Force force; + Torque torque; + }; + + struct ConstraintFlags + { + ConstraintFlags(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String flags; + }; + + struct InvMassScale0 + { + InvMassScale0(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double invMassScale0; + }; + + struct InvMassScale1 + { + InvMassScale1(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double invMassScale1; + }; + + struct InvInertiaScale0 + { + InvInertiaScale0(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double invInertiaScale0; + }; + + struct InvInertiaScale1 + { + InvInertiaScale1(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double invInertiaScale1; + }; + + struct MotionX + { + MotionX(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eX; + }; + + struct MotionY + { + MotionY(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eY; + }; + + struct MotionZ + { + MotionZ(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eZ; + }; + + struct MotionTwist + { + MotionTwist(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eTwist; + }; + + struct MotionSwing1 + { + MotionSwing1(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eSwing1; + }; + + struct MotionSwing2 + { + MotionSwing2(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + String eSwing2; + }; + + struct Motion + { + Motion(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MotionX eX; + MotionY eY; + MotionZ eZ; + MotionTwist eTwist; + MotionSwing1 eSwing1; + MotionSwing2 eSwing2; + }; + + struct BounceThreshold + { + BounceThreshold(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double bounceThreshold; + }; + + struct Stiffness + { + Stiffness(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double stiffness; + }; + + struct Damping + { + Damping(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double damping; + }; + + struct ContactDistance + { + ContactDistance(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double contactDistance; + }; + + struct Value + { + Value(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double value; + }; + + struct LinearLimit + { + LinearLimit(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Restitution restitution; + BounceThreshold bounceThreshold; + Stiffness stiffness; + Damping damping; + ContactDistance contactDistance; + Value value; + }; + + struct Upper + { + Upper(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double upper; + }; + + struct Lower + { + Lower(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double lower; + }; + + struct TwistLimit + { + TwistLimit(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Restitution restitution; + BounceThreshold bounceThreshold; + Stiffness stiffness; + Damping damping; + ContactDistance contactDistance; + Upper upper; + Lower lower; + }; + + struct YAngle + { + YAngle(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double yAngle; + }; + + struct ZAngle + { + ZAngle(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double zAngle; + }; + + struct SwingLimit + { + SwingLimit(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Restitution restitution; + BounceThreshold bounceThreshold; + Stiffness stiffness; + Damping damping; + ContactDistance contactDistance; + YAngle yAngle; + ZAngle zAngle; + }; + + struct ForceLimit + { + ForceLimit(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double forceLimit; + }; + + struct DriveX + { + DriveX(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + Flags flags; + }; + + struct DriveY + { + DriveY(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + Flags flags; + }; + + struct DriveZ + { + DriveZ(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + Flags flags; + }; + + struct DriveSwing + { + DriveSwing(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + Flags flags; + }; + + struct DriveTwist + { + DriveTwist(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + Flags flags; + }; + + struct DriveSlerp + { + DriveSlerp(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Stiffness stiffness; + Damping damping; + ForceLimit forceLimit; + }; + + struct Drive + { + Drive(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + DriveX driveX; + DriveY driveY; + DriveZ driveZ; + DriveSwing driveSwing; + DriveTwist driveTwist; + DriveSlerp driveSlerp; + }; + + struct DrivePosition + { + DrivePosition(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MQuaternion rotation; + MVector translation; + }; + + struct Linear + { + Linear(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector linear; + }; + + struct Angular + { + Angular(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + MVector angular; + }; + + struct DriveVelocity + { + DriveVelocity(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Linear linear; + Angular angular; + }; + + struct ProjectionLinearTolerance + { + ProjectionLinearTolerance(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double projectionLinearTolerance; + }; + + struct ProjectionAngularTolerance + { + ProjectionAngularTolerance(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + double projectionAngularTolerance; + }; + + struct PxD6Joint + { + PxD6Joint(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + Id id; + Actors actors; + ActorLocalPose localPose; + BreakForce breakForce; + ConstraintFlags constraintFlags; + InvMassScale0 invMassScale0; + InvInertiaScale0 invInertiaScale0; + InvMassScale1 invMassScale1; + InvInertiaScale1 invInertiaScale1; + Name name; + Motion motion; + LinearLimit linearLimit; + TwistLimit twistLimit; + SwingLimit swingLimit; + Drive drive; + DrivePosition drivePosition; + DriveVelocity driveVelocity; + ProjectionLinearTolerance projectionLinearTolerance; + ProjectionAngularTolerance projectionAngularTolerance; + }; + + struct PhysX30Collection + { + PhysX30Collection(xmlNode* node); + void exportElement(COLLADASW::StreamWriter& sw); + UpVector upVector; + LengthMassSpeedScale scale; + std::vector convexMeshes; + std::vector triangleMeshes; + std::vector materials; + std::vector rigidStatics; + std::vector rigidDynamics; + std::vector D6Joints; + }; + + struct PhysXDoc + { + PhysXDoc(xmlDocPtr xml); + PhysX30Collection physX30Collection; + bool validate(); + + PxConvexMesh* findConvexMesh(uint64_t id); + PxTriangleMesh* findTriangleMesh(uint64_t id); + PxMaterial* findMaterial(uint64_t ref); + PxMaterial* findMaterial(const String& bodyName, const String& shapeName); + PxShape* findShape(const String& bodyName, const String& shapeName); + PxRigidStatic* findRigidStatic(uint64_t id); + PxRigidStatic* findRigidStatic(const String& bodyName); + PxRigidDynamic* findRigidDynamic(uint64_t id); + PxRigidDynamic* findRigidDynamic(const String& bodyName); + PxD6Joint* findD6Joint(const String& jointName); + }; + + class PhysXDocPtr + { + public: + PhysXDocPtr(); + PhysXDocPtr(xmlDocPtr xml); + ~PhysXDocPtr(); + + const PhysXDocPtr& operator = (xmlDocPtr xml); + + PhysXDoc* operator -> () const; + + operator bool() const; + + private: + PhysXDoc* mPhysXDoc; + }; + } +} \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaReferenceManager.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaReferenceManager.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaReferenceManager.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaReferenceManager.h 2016-07-13 19:25:45.000000000 +0000 @@ -73,6 +73,13 @@ Reference() { file = NULL; } + bool rootContains(const MDagPath & dagPath) const { + for (unsigned int i = 0; i < paths.length(); ++i) + if (paths[i] == dagPath) + return true; + return false; + } + }; typedef std::vector ReferenceList; @@ -108,12 +115,48 @@ /** Initializes the external file references of the current scene. */ void initialize (); + const ReferenceList & getReferences() const + { + return mReferences; + } + /** Retrieves the filename of a referenced node. */ static MString getReferenceFilename ( const MDagPath& path ); /** Retrieves the filename of a referenced node. */ static MString getReferenceFilename ( const MObject& dgNode ); + /** + * Returns the node which is referenced from the file. + * @param filename The file which references the searched node. + * @return MObject The node, which is referenced from in the file. + */ + static MObject getReferenceNode(const MString& filename); + + /** + * Returns a list of the root transforms attached to a reference, given by its filename. + * @param referenceNode Current reference node. + * @param rootPaths List of root pathes to fill. + * @param subReferences List of sub references to fill. + */ + static void getRootObjects(const MObject& referenceNode, MDagPathArray& rootPaths, MObjectArray& subReferences); + + /** + * Retrieves the top level reference node of given DAG path in case of nested reference nodes. + * @param dagPath DAG path of a node + * @param outReferenceNode returned reference node + * @return MS::kSuccess if succeeded. MS::kFailure if failed. + */ + static MStatus getTopLevelReferenceNode(const MDagPath & dagPath, MObject & outReferenceNode); + + /** + * Retrieves the filename of given reference node. + * @param referenceNode reference node + * @param referenceFilename returned reference filename + * @return MS::kSuccess if succeeded. MS::kFailure if failed. + */ + static MStatus getReferenceFilename(const MObject & referenceNode, MString & referenceFilename); + private: /** Constructor. */ @@ -125,29 +168,14 @@ /** Delete all created files. */ void deleteFiles (); - /** - * Returns the node which is referenced from the file. - * @param filename The file which references the searched node. - * @return MObject The node, which is referenced from in the file. - */ - MObject getReferenceNode ( const MString& filename ); - /** Grab all the referencing information from the current scene. Used on export. */ void processReference ( const MObject& referenceNode ); /** Grab all the referencing information from the current scene. Used on export. */ ReferenceFile* processReferenceFile ( const MString& filename ); - /** - * Returns a list of the root transforms attached to a reference, given by its filename. - * @param referenceNode Current reference node. - * @param rootPaths List of root pathes to fill. - * @param subReferences List of sub references to fill. - */ - void getRootObjects ( const MObject& referenceNode, MDagPathArray& rootPaths, MObjectArray& subReferences ); - /** Returns whether the given path is a root transform in the given list of paths. */ - bool isRootTransform ( const MDagPathArray& allPaths, const MDagPath& testPath ); + static bool isRootTransform ( const MDagPathArray& allPaths, const MDagPath& testPath ); /** * Retrieve the name of the last reference created. diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaRotateHelper.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaRotateHelper.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaRotateHelper.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaRotateHelper.h 2016-07-13 19:25:45.000000000 +0000 @@ -45,7 +45,7 @@ * Constructor. * @param rotation The euler rotation. */ - RotateHelper( MEulerRotation rotation ); + RotateHelper( const MEulerRotation & rotation ); /** * Returns the rotation vector (2x3 matrix). diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSceneElement.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSceneElement.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSceneElement.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSceneElement.h 2016-07-13 19:25:45.000000000 +0000 @@ -49,11 +49,18 @@ CAMERA, LIGHT, PHYSIK, + PHYSIK_BULLET, + PHYSX_RIGID_SOLVER, + PHYSX_RIGID_BODY, + PHYSX_RIGID_CONSTRAINT, + PHYSX_SHAPE, SPLINE, NURBS, EMITTER, CONSTRAINT, - BONE + BONE, + LIGHT_PROBE, + LOD }; private: @@ -62,13 +69,13 @@ const MDagPath mDagPath; /** Transient information */ - MObject mNode; + mutable MObject mNode; /** The unique id of the node */ String mNodeId; /** The name of the node */ - String mNodeName; + mutable String mNodeName; /** std::vector with parent elements */ SceneElementsList mParentElements; @@ -97,6 +104,9 @@ /** True, if the transform element has joints. */ bool mHasJoint; + /** true, if the node is used as physics Node */ + bool mIsPhysicsNode; + /** Set the list of skeleton-Ids. It indicates where a skin controller is to start to search for the joint nodes it needs. This element is meaningless for morph controllers. */ @@ -112,13 +122,13 @@ virtual ~SceneElement (); /** Returns the node path */ - const MDagPath getPath () const; + const MDagPath& getPath () const; /** Returns the node */ - const MObject& getNode (); + const MObject& getNode () const; /** Returns the type of the node*/ - const Type& getType () const; + const Type& getType() const; void setType ( const Type& _type ) { mType = _type; @@ -142,7 +152,7 @@ mNodeName = name; } - const String& getNodeName (); + const String& getNodeName () const; /** Adds @a exportNode to its children*/ void addParentElement ( SceneElement* exportElement ) @@ -258,6 +268,21 @@ */ bool getHasJoint () { return mHasJoint; } + /** Set physicsNode on the current scene element. */ + void setIsPhysicsNode(bool val) + { + mIsPhysicsNode = val; + } + + /** + * True, if the element is used as a Physics Node. + * @return bool True, if the element is used as a Physics Node. + */ + bool getIsPhysicsNode() const + { + return mIsPhysicsNode; + } + /** Set the skeleton uri. It indicates where a skin controller is to start to search for the joint nodes it needs. This element is meaningless for morph controllers. */ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSceneGraph.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSceneGraph.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSceneGraph.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSceneGraph.h 2016-07-13 19:25:45.000000000 +0000 @@ -135,7 +135,8 @@ bool getIsExportNode ( const MDagPath& dagPath, bool& isForced, - bool& isVisible ); + bool& isVisible, + bool& isPhysics); /** Samples and caches the animation expressions. */ void sampleAnimationExpressions (); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaShaderFXShaderExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaShaderFXShaderExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaShaderFXShaderExporter.h 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaShaderFXShaderExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,76 @@ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#ifndef __COLLADA_MAYA_SHADERFX_SHADER_EXPORTER_H__ +#define __COLLADA_MAYA_SHADERFX_SHADER_EXPORTER_H__ + +#if MAYA_API_VERSION >= 201500 + +#include "COLLADAMayaPrerequisites.h" +#include "COLLADAMayaDocumentExporter.h" + +#include "COLLADASWEffectProfile.h" + +#include +#include + +namespace COLLADAMaya +{ + + class ShaderFXShaderExporter + { + friend class ShaderFXAttributeExporter; + friend class ShaderFXSamplerAndSurfaceExporter; + + private: + + /** Document exporter */ + DocumentExporter& mDocumentExporter; + + /** Stream writer */ + COLLADASW::StreamWriter & mStreamWriter; + + /** The currently used collada effect profile to write the data. */ + COLLADASW::EffectProfile& mEffectProfile; + + /** Current texture index */ + int mTextureIndex; + + /** Current effect id */ + String mEffectId; + + public: + + ShaderFXShaderExporter(DocumentExporter & documentExporter, COLLADASW::EffectProfile & effectProfile, const String & effectId); + + virtual ~ShaderFXShaderExporter() {} + + /** Export a ShaderFX shader node. */ + void exportShaderFXShader(MObject & shaderObject ); + + + private: + + template + void parseAttributes(const MFnDependencyNode & node, Method method); + + void exportSamplerAndSurface(const MFnDependencyNode & node, const MObject & attr); + void exportSamplerAndSurfaceInner(const MString & filename); + void exportTexture(const MString & filename); + }; +} +#endif // #if MAYA_API_VERSION >= 201500 + +#endif // __COLLADA_MAYA_SHADERFX_SHADER_EXPORTER_H__ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaStableHeaders.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaStableHeaders.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaStableHeaders.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaStableHeaders.h 2016-07-13 19:25:45.000000000 +0000 @@ -40,13 +40,13 @@ #include #include //#include - // Maya SDK #include #include #include #include #include + #include #include #include @@ -54,15 +54,18 @@ #include #include #include + #include #include #include #include #include + #include #include #include #include + #include #include #include @@ -71,6 +74,7 @@ #include #include #include + #include // base utils diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSyntax.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSyntax.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaSyntax.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaSyntax.h 2016-07-13 19:25:45.000000000 +0000 @@ -17,14 +17,12 @@ #define __COLLADA_MAYA_SYNTAX_H__ #include "COLLADAMayaPrerequisites.h" - +#include "COLLADABUVersionInfo.h" namespace COLLADAMaya { - // COLLADA NetAllied Systems static const char* TRANSLATOR_VENDOR = "NetAllied Systems GmbH"; - static const char* TRANSLATOR_VERSION = "1.3.0"; static const char* USERNAME = "USERNAME"; static const char* USER = "USER"; @@ -36,12 +34,13 @@ /** Profile specific extra attribute parameters. */ static const char* PROFILE_COLLADA = "COLLADA"; - static const char* PROFILE_MAYA = "OpenCOLLADAMaya"; + static const String PROFILE_MAYA = "OpenCOLLADAMaya"; static const char* PROFILE_MAX = "OpenCOLLADA3dsMax"; - + /** Extra technique parameters. */ static const String PARAMETER_MAYA_ID = "originalMayaNodeId"; static const String PARAMETER_DOUBLE_SIDED = "double_sided"; + static const String PARAMETER_PROXY = "proxy"; /** Empty strings. */ static const String EMPTY_STRING = ""; @@ -50,6 +49,10 @@ /** The unique name for the visual scene node on export. */ static const String VISUAL_SCENE_NODE_ID = "VisualSceneNode"; + /** The unique name for the physics scene node on export. */ + static const String PHYSICS_SCENE_NODE_ID = "collada_physics_scene"; + + /** The standard name for the collada id attribute. */ static const String COLLADA_ID_ATTRIBUTE_NAME = "colladaId"; static const String COLLADA_EFFECT_ID_ATTRIBUTE_NAME = "colladaEffectId"; @@ -155,6 +158,10 @@ static const String MATRIX_PARAMETER[1] = { "MATRIX" }; static const String TRANSFORM_PARAMETER[1] = { "TRANSFORM" }; + static const String A_PARAMETER[1] = { "A" }; + static const String RGB_PARAMETERS[3] = { "R", "G", "B" }; + static const String ST_PARAMETERS[2] = { "S", "T" }; + static const String VERTEX_SID = "VERTEX"; static const String SKEW_XY_SID = "skewXY"; static const String SKEW_XZ_SID = "skewXZ"; @@ -288,6 +295,10 @@ static const char* ATTR_VERTEX_FACE_COLOR = "vfcl"; static const char* ATTR_VERTEX_FACE_COLOR_RGB = "frgb"; static const char* ATTR_WEIGHT = "w"; + static const char* ATTR_EVENT_ANIMATION = "animationEvent"; + static const char* ATTR_CLIP_SOURCE_START = "sourceStart"; + static const char* ATTR_CLIP_SOURCE_END = "sourceEnd"; + static const char* ATTR_THRESHOLD = "threshold"; /** Constants for the cameras */ static const char* CAMERA_PERSP = "persp"; @@ -302,11 +313,214 @@ /** Constants for the physical scenes. */ static const char* NIMA_INTERNAL_PHYSIKS = "nimaInternalPhysics"; static const char* AGEIA_PHYSIKS_MODEL = "AgeiaPhysicsModel"; + static const char* BULLET_PHYSIKS_NODE = "bulletRigidBodyShape"; + static const char* BULLET_PHYSIKS_SOLVER_NODE = "bulletSolverShape"; + static const char* NX_RIGID_SOLVER = "nxRigidSolver"; + static const char* NX_RIGID_BODY = "nxRigidBody"; + static const char* NX_SHAPE = "physicsShape"; + static const char* NX_RIGID_CONSTRAINT = "nxRigidConstraint"; + static const char* PHYSICS_MODEL_ID = "PhysicsModel"; + static const char* PHYSICS_WORLD_REFERENCE = "world"; + static const char* ATTR_MASS = "mass"; + static const char* ATTR_BODY_TYPE = "bodyType"; + static const char* ATTR_DYNAMIC = "dynamic"; + static const char* ATTR_INERTIA = "inertia"; + static const char* ATTR_EXTENT = "extent"; + static const char* ATTR_RIGID_BODY_1 = "rigidBody1"; + static const char* ATTR_RIGID_BODY_2 = "rigidBody2"; + static const char* ATTR_CONSTRAIN = "constrain"; + static const char* ATTR_USE_ACCELERATION = "useAcceleration"; + static const char* ATTR_RADIUS_SCALE = "radiusScale"; + static const char* ATTR_ORIENTATION_MODE = "orientationMode"; + static const char* ATTR_SWING_1_LIMIT_RESTITUTION = "swing1LimitRestitution"; + static const char* ATTR_SWING_1_LIMIT_SPRING = "swing1LimitSpring"; + static const char* ATTR_SWING_1_LIMIT_DAMPING = "swing1LimitDamping"; + static const char* ATTR_SWING_2_LIMIT_RESTITUTION = "swing2LimitRestitution"; + static const char* ATTR_SWING_2_LIMIT_SPRING = "swing2LimitSpring"; + static const char* ATTR_SWING_2_LIMIT_DAMPING = "swing2LimitDamping"; + static const char* ATTR_TWIST_LOW_LIMIT_RESTITUTION = "twistLowLimitRestitution"; + static const char* ATTR_TWIST_LOW_LIMIT_SPRING = "twistLowLimitSpring"; + static const char* ATTR_TWIST_LOW_LIMIT_DAMPING = "twistLowLimitDamping"; + static const char* ATTR_TWIST_HIGH_LIMIT_RESTITUTION = "twistHighLimitRestitution"; + static const char* ATTR_TWIST_HIGH_LIMIT_SPRING = "twistHighLimitSpring"; + static const char* ATTR_TWIST_HIGH_LIMIT_DAMPING = "twistHighLimitDamping"; + static const char* ATTR_LINEAR_LIMIT_VALUE = "linearLimitValue"; + static const char* ATTR_LINEAR_LIMIT_RESTITUTION = "linearLimitRestitution"; + static const char* ATTR_LINEAR_LIMIT_SPRING = "linearLimitSpring"; + static const char* ATTR_LINEAR_LIMIT_DAMPING = "linearLimitDamping"; + static const char* ATTR_DRIVE_DAMPING_SLERP = "driveDampingSlerp"; + static const char* ATTR_DRIVE_SPRING_SLERP = "driveSpringSlerp"; + static const char* ATTR_BREAKABLE_FORCE = "breakableForce"; + static const char* ATTR_MAX_FORCE = "maxForce"; + static const char* ATTR_BREAKABLE_TORQUE = "breakableTorque"; + static const char* ATTR_MAX_TORQUE = "maxTorque"; + static const char* ATTR_REVERSE = "reverse"; + static const char* ATTR_PROJECTION_MODE = "projectionMode"; + static const char* ATTR_PROJECTION_DISTANCE = "projectionDistance"; + static const char* ATTR_PROJECTION_ANGLE = "projectionAngle"; + static const char* ATTR_ANGULAR_DRIVE_MODE = "angularDriveMode"; + static const char* ATTR_INTERPENETRATE = "interpenetrate"; + static const char* ATTR_TARGET = "target"; + static const char* ATTR_SIMULATION_TYPE = "simulationType"; + static const char* ATTR_SWITCH_TO_DYNAMIC = "switchToDynamic"; + static const char* ATTR_SWITCH_AT_FRAME = "switchAtFrame"; + static const char* ATTR_ENABLE_GRAVITY = "enableGravity"; + static const char* ATTR_FORCE_TO_SLEEP = "forceToSleep"; + static const char* ATTR_OVERRIDE_MASS_OR_DENSITY = "overrideMassOrDensity"; + static const char* ATTR_DENSITY = "density"; + static const char* ATTR_BOUNCINESS = "bounciness"; + static const char* ATTR_STATIC_FRICTION = "staticFriction"; + static const char* ATTR_DYNAMIC_FRICTION = "dynamicFriction"; + static const char* ATTR_PHYSICS_SHAPES = "physicsShapes"; + static const char* ATTR_OVERRIDE_GLOBAL_ITERATION_COUNT = "overrideGlobalIterationCount"; + static const char* ATTR_POSITION_ITERATION_COUNT = "positionIterationCount"; + static const char* ATTR_VELOCITY_ITERATION_COUNT = "velocityIterationCount"; + static const char* ATTR_CONTACT_SHELL_OVERRIDE = "contactShellOverride"; + static const char* ATTR_CONTACT_SHELL_DEPTH = "contactShellDepth"; + static const char* ATTR_CONTACT_SHELL_OFFSET = "contactShellOffset"; + static const char* ATTR_SLEEP_THRESHOLDS_OVERRIDE = "sleepThesholdsOverride"; // Missing 'r' comes from a typo in attribute name (PhysX plugin) + static const char* ATTR_SLEEP_ENERGY_THRESHOLD = "sleepEnergyThreshold"; + static const char* ATTR_LINEAR_DAMPING = "linearDamping"; + static const char* ATTR_ANGULAR_DAMPING = "angularDamping"; + static const char* ATTR_CENTER_OF_MASS_MODE = "centerOfMassMode"; + static const char* ATTR_CENTER_OF_MASS_OVERRIDE = "centerOfMassOverride"; + static const char* ATTR_CENTER_OF_MASS_OVERRIDE_X = "centerOfMassOverrideX"; + static const char* ATTR_CENTER_OF_MASS_OVERRIDE_Y = "centerOfMassOverrideY"; + static const char* ATTR_CENTER_OF_MASS_OVERRIDE_Z = "centerOfMassOverrideZ"; + static const char* ATTR_INITIAL_POSITION = "initialPosition"; + static const char* ATTR_INITIAL_POSITION_X = "initialPositionX"; + static const char* ATTR_INITIAL_POSITION_Y = "initialPositionY"; + static const char* ATTR_INITIAL_POSITION_Z = "initialPositionZ"; + static const char* ATTR_INITIAL_ORIENTATION = "initialOrientation"; + static const char* ATTR_INITIAL_ORIENTATION_X = "initialOrientationX"; + static const char* ATTR_INITIAL_ORIENTATION_Y = "initialOrientationY"; + static const char* ATTR_INITIAL_ORIENTATION_Z = "initialOrientationZ"; + static const char* ATTR_INITIAL_VELOCITY = "initialVelocity"; + static const char* ATTR_INITIAL_VELOCITY_X = "initialVelocityX"; + static const char* ATTR_INITIAL_VELOCITY_Y = "initialVelocityY"; + static const char* ATTR_INITIAL_VELOCITY_Z = "initialVelocityZ"; + static const char* ATTR_INITIAL_SPIN = "initialSpin"; + static const char* ATTR_INITIAL_SPIN_X = "initialSpinX"; + static const char* ATTR_INITIAL_SPIN_Y = "initialSpinY"; + static const char* ATTR_INITIAL_SPIN_Z = "initialSpinZ"; + static const char* ATTR_ENABLE_CCD = "enableCCD"; + static const char* ATTR_CCD_MOTION_THRESHOLD = "CCDMotionThreshold"; + static const char* ATTR_HIDDEN_IN_OUTLINER = "hiddenInOutliner"; + static const char* ATTR_WIRE_COLOR_RGB = "wireColorRGB"; + static const char* ATTR_SHAPE_TYPE = "shapeType"; + static const char* ATTR_SIZE = "size"; + static const char* ATTR_RADIUS = "radius"; + static const char* ATTR_POINT_1 = "point1"; + static const char* ATTR_POINT_2 = "point2"; + static const char* ATTR_HEIGHT = "height"; + static const char* ATTR_BEST_FIT = "bestFit"; + static const char* ATTR_OUT_PHYSICS_SHAPE = "outPhysicsShape"; + static const char* ATTR_CONNECT_TO_CLOTH_SPHERE = "connectToClothSphere"; + static const char* ATTR_INFLATE = "inflate"; + static const char* ATTR_BOUNDING_BOX_SIZE = "boundingBoxSize"; + static const char* ATTR_USE_MASS_OR_DENSITY = "useMassOrDensity"; + static const char* ATTR_BOUNDING_BOX_MIN = "boundingBoxMin"; + static const char* ATTR_BOUNDING_BOX_MAX = "boundingBoxMax"; + static const char* ATTR_MOTION_TWIST = "motionTwist"; + static const char* ATTR_MOTION_SWING_Y = "motionSwingY"; + static const char* ATTR_MOTION_SWING_Z = "motionSwingZ"; + static const char* ATTR_TWIST_LOW_LIMIT_VALUE = "twistLowLimitValue"; + static const char* ATTR_TWIST_HIGH_LIMIT_VALUE = "twistHighLimitValue"; + static const char* ATTR_SWING_1_LIMIT_VALUE = "swing1LimitValue"; + static const char* ATTR_SWING_2_LIMIT_VALUE = "swing2LimitValue"; + static const char* ATTR_MOTION_X = "motionX"; + static const char* ATTR_MOTION_Y = "motionY"; + static const char* ATTR_MOTION_Z = "motionZ"; + static const char* ATTR_DRIVE_SPRING_X = "driveSpringX"; + static const char* ATTR_DRIVE_SPRING_Y = "driveSpringY"; + static const char* ATTR_DRIVE_SPRING_Z = "driveSpringZ"; + static const char* ATTR_DRIVE_DAMPING_X = "driveDampingX"; + static const char* ATTR_DRIVE_DAMPING_Y = "driveDampingY"; + static const char* ATTR_DRIVE_DAMPING_Z = "driveDampingZ"; + static const char* ATTR_DRIVE_SPRING_TWIST = "driveSpringTwist"; + static const char* ATTR_DRIVE_SPRING_SWING = "driveSpringSwing"; + static const char* ATTR_DRIVE_DAMPING_TWIST = "driveDampingTwist"; + static const char* ATTR_DRIVE_DAMPING_SWING = "driveDampingSwing"; + static const char* ATTR_GOAL_SPACE = "goalSpace"; + static const char* ATTR_GOAL_POSITION = "goalPosition"; + static const char* ATTR_GOAL_POSITION_X = "goalPositionX"; + static const char* ATTR_GOAL_POSITION_Y = "goalPositionY"; + static const char* ATTR_GOAL_POSITION_Z = "goalPositionZ"; + static const char* ATTR_GOAL_ORIENTATION = "goalOrientation"; + static const char* ATTR_GOAL_ORIENTATION_X = "goalOrientationX"; + static const char* ATTR_GOAL_ORIENTATION_Y = "goalOrientationY"; + static const char* ATTR_GOAL_ORIENTATION_Z = "goalOrientationZ"; + static const char* ATTR_GRAVITY = "gravity"; + static const char* ATTR_GRAVITY_MAGNITUDE = "gravityMagnitude"; + static const char* ATTR_GRAVITY_DIRECTION = "gravityDirection"; + static const char* SIMULATION_TYPE_STATIC = "Static"; + static const char* SIMULATION_TYPE_KINEMATIC = "Kinematic"; + static const char* SIMULATION_TYPE_DYNAMIC = "Dynamic"; + static const char* OVERRIDE_MASS_OR_DENSITY_DISABLED = "Disabled"; + static const char* OVERRIDE_MASS_OR_DENSITY_MASS = "Mass"; + static const char* OVERRIDE_MASS_OR_DENSITY_DENSITY = "Density"; + static const char* CENTER_OF_MASS_MODE_CALCULATE_FROM_SHAPES = "Calculate From Shapes"; + static const char* CENTER_OF_MASS_MODE_MANUAL_OVERRIDE = "Manual Override"; + static const char* SHAPE_TYPE_BOX = "Box"; + static const char* SHAPE_TYPE_SPHERE = "Sphere"; + static const char* SHAPE_TYPE_CAPSULE = "Capsule"; + static const char* SHAPE_TYPE_CONVEX_HULL = "Convex Hull"; + static const char* SHAPE_TYPE_TRIANGLE_MESH = "Triangle Mesh"; + static const char* SHAPE_TYPE_CLOTH_SPHERES = "ClothSpheres"; + static const char* USE_MASS_OR_DENSITY_MASS = "mass"; + static const char* USE_MASS_OR_DENSITY_DENSITY = "density"; + static const char* LOCKED = "locked"; + static const char* LIMITED = "limited"; + static const char* FREE = "free"; + static const char* CENTERED = "Centered"; + static const char* TARGET_ORIGIN = "Target Origin"; + static const String LOCAL_POSE = "localPose"; + static const String GROUND_PLANE_NAME = "groundPlane"; + static const String ATTR_USE_GROUND_PLANE = "useGroundPlane"; + static const String ATTR_GROUND_PLANE_POSITION = "groundPlanePosition"; + + static const char* ATTR_ACTIVE = "active"; + static const char* ATTR_COLLISION_SHAPE = "collision_shape"; + static const char* ATTR_COLLISION_EXPORT_NODE = "export_node"; + + /** Constants for light probes. */ + static const char* ATTR_LIGHT_PROBE = "light_probe"; + static const String CSW_ELEMENT_INSTANCE_LIGHT_PROBE = "instance_light_probe"; + static const String CSW_ELEMENT_LIGHT_PROBE = "light_probe"; + static const String CSW_ELEMENT_LIBRARY_LIGHT_PROBES = "library_light_probes"; /** Shader constants */ static const char* COLLADA_FX_SHADER = "colladafxShader"; static const char* COLLADA_FX_PASSES = "colladafxPasses"; - + + /** ShaderFX constants */ + static const String SHADERFX_SHADER = "ShaderfxShader"; + static const String SHADERFX = "shaderfx"; + static const String SHADERFX_ATTRIBUTE = "attribute"; + static const String SHADERFX_TRUE = "true"; + static const String SHADERFX_FALSE = "false"; + static const String PARAM_TYPE_BOOL = "bool"; + static const String PARAM_TYPE_BYTE = "byte"; + static const String PARAM_TYPE_CHAR = "char"; + static const String PARAM_TYPE_SHORT = "short"; + static const String PARAM_TYPE_SHORT2 = "short2"; + static const String PARAM_TYPE_SHORT3 = "short3"; + static const String PARAM_TYPE_LONG = "long"; + static const String PARAM_TYPE_LONG2 = "long2"; + static const String PARAM_TYPE_LONG3 = "long3"; + static const String PARAM_TYPE_INT = "int"; + static const String PARAM_TYPE_INT2 = "int2"; + static const String PARAM_TYPE_INT3 = "int3"; + static const String PARAM_TYPE_FLOAT = "float"; + static const String PARAM_TYPE_FLOAT2 = "float2"; + static const String PARAM_TYPE_FLOAT3 = "float3"; + static const String PARAM_TYPE_DOUBLE = "double"; + static const String PARAM_TYPE_DOUBLE2 = "double2"; + static const String PARAM_TYPE_DOUBLE3 = "double3"; + static const String PARAM_TYPE_DOUBLE4 = "double4"; + static const String PARAM_TYPE_ENUM = "enum"; + static const String PARAM_TYPE_STRING = "string"; + // COLLADA 1.4 Max-specific profile static const char* MAX_TARGET_CAMERA_PARAMETER = "target"; static const char* MAX_ASPECTRATIO_LIGHT_PARAMETER = "aspect_ratio"; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaVisualSceneExporter.h opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaVisualSceneExporter.h --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/include/COLLADAMayaVisualSceneExporter.h 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/include/COLLADAMayaVisualSceneExporter.h 2016-07-13 19:25:45.000000000 +0000 @@ -47,6 +47,8 @@ class VisualSceneExporter : public COLLADASW::LibraryVisualScenes { + friend class LODExporter; + private: /** @@ -91,6 +93,15 @@ /** The current transform matrix. */ MTransformationMatrix mTransformMatrix; + /** Lod Index Counter during visual scene Pass*/ + int mLODIndexCounter1; + std::map lodCounterMap; + + /** Lod Index Counter during Library node Pass*/ + int mLODIndexCounter2; + + + public: /** @@ -105,7 +116,7 @@ /** * Destructor. */ - virtual ~VisualSceneExporter() {}; + virtual ~VisualSceneExporter(); /** * Exports the visual scene with the transforms of all included elements @@ -116,17 +127,31 @@ * A collada id for every maya id. */ const String findColladaNodeId ( const String& mayaNodeId ); + const String findNextColladaNodeId(const SceneElement* sceneElement, int& indexLOD); /** * Creates the uri for the scene element. Checks for instances * and creates the right element. */ - COLLADASW::URI getSceneElementURI ( const SceneElement* sceneElement, const String& elementId = EMPTY_STRING ); + COLLADASW::URI getSceneElementURI(const SceneElement* sceneElement, const String& elementId = EMPTY_STRING); + + /** + * Creates the uri for the given DagPath. + */ + COLLADASW::URI getSceneElementURI(const MDagPath& dagPath, const String& id = EMPTY_STRING); /** - * Returns the collada id of the current node, if it is a transform node + * Returns the collada id of the current node, if it is a transform node. + * + * removeFirstNamespace allows to create id without first part of namespace: + * namespace1:namespace2:nodeName -> namespace2_nodeName + * namespace:nodeName -> nodeName + * |namespace1:namespace2:nodeName -> _namespace2_nodeName + * |namespace:nodeName -> _nodeName */ - String getColladaNodeId ( const MDagPath& dagPath ); + String getColladaNodeId(const MDagPath& dagPath, bool removeFirstNamespace = false); + + void ResetLODCounter(); private: @@ -190,6 +215,12 @@ const bool hasMorphController ); /** + * Exports the light probe instances of the given transform scene element. + * @param childElement The transform scene element. + */ + void exportInstanceLightProbe ( const SceneElement* childElement ); + + /** * Exports the light instances of the given transform scene element. * @param childElement The transform scene element. */ @@ -216,7 +247,7 @@ * If not, we don't need to write the current material instance. */ const bool meshContainsShaderPolygons ( - const MFnMesh& fnMesh, + const MObject& mesh, const MObjectArray& shaders, const MIntArray& shaderIndices, const uint shaderPosition ); @@ -232,7 +263,7 @@ * Prepares a new the visual scene node. * @param sceneElement The scene element of the node. */ - void openVisualSceneNode ( const SceneElement *sceneElement ); + bool openVisualSceneNode ( const SceneElement *sceneElement ); /** * Compute local space parameters and export them. These parameters are: @@ -270,6 +301,12 @@ */ void exportVisibility ( COLLADASW::Node* sceneNode ); + /** + * Exports all extra attributes. + * @param sceneNode The collada scene node to export the attributes. + */ + void exportExtraAttributes(const SceneElement* sceneElement); + /** * @todo documentation * @param sceneElement diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/INSTALL_MAC.TXT opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/INSTALL_MAC.TXT --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/INSTALL_MAC.TXT 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/INSTALL_MAC.TXT 2016-07-13 19:25:45.000000000 +0000 @@ -3,39 +3,28 @@ To run the COLLADAMaya plug-in, you need a version of Autodesk Maya installed. Supported versions are: -Autodesk Maya 2010 -Autodesk Maya 2009 -Autodesk Maya 2008 + +Autodesk Maya 2016 +Autodesk Maya 2015 +Autodesk Maya 2014 +Autodesk Maya 2013 +Autodesk Maya 2012 +Autodesk Maya 2011 For help on build, please read the BUILD file. Install: -------- -On build with XCode, the required plugin files will be copied into -your Autodesk Maya directories. -NOTE: The "YOUR_MAYA_PATH" used in the following section depends on your Maya -version. Following environment variables to your Maya location are supported: -- MAYA_PATH2010 -- MAYA_PATH2009 -- MAYA_PATH2008 - -You have to copy following files: -- ~project_dir/COLLADAMaya/build/Debug/COLLADAMaya.bundle to your personal - Maya plug-in directory. The default directory on OSMac is - /Users/Shared/Autodesk/maya/2010/plug-ins respectively - /Users/Shared/Autodesk/maya/2009/plug-ins respectively - /Users/Shared/Autodesk/maya/2008/plug-ins -- ~project_dir/COLLADAMaya/scripts/openColladaExporterOpts.mel to your - personal Maya scripts directory. The default directory on OSMac is - /Users/Shared/Autodesk/maya/2010/scripts respectively - /Users/Shared/Autodesk/maya/2009/scripts respectively - /Users/Shared/Autodesk/maya/2008/scripts -- ~project_dir/COLLADAMaya/scripts/openColladaImporterOpts.mel to your - personal Maya scripts directory. The default directory on OSMac is - /Users/Shared/Autodesk/maya/2010/scripts respectively - /Users/Shared/Autodesk/maya/2009/scripts respectively - /Users/Shared/Autodesk/maya/2008/scripts +You have to copy following 3 files: +- Build/Debug 2011/COLLADAMaya.bundle to your Maya plug-in directory. + The default directory (2011 example) is: + /Users/Shared/Autodesk/maya/2011/plug-ins + +- scripts/openColladaExporterOpts.mel + and scripts/openColladaImporterOpts.mel to your Maya scripts directory. + The default directory (Maya 2011 example) is + /Users/Shared/Autodesk/maya/2011/scripts You can also define a environment variable "MAYA_PLUG_IN_PATH" and put the mll-file into the refered directory. Autodesk Maya will load the plug-ins diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/INSTALL_WIN.TXT opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/INSTALL_WIN.TXT --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/INSTALL_WIN.TXT 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/INSTALL_WIN.TXT 2016-07-13 19:25:45.000000000 +0000 @@ -1,56 +1,73 @@ -Requirements: -------------- -To run the COLLADAMaya plug-in, you need a version of Autodesk Maya installed. - -Supported versions are: -Autodesk Maya 2010 -Autodesk Maya 2009 -Autodesk Maya 2008 - -To run the binary you have to install the Microsoft Visual C++ 2005 -Redistributable Package (x86). You can download -and install it from: -http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en - -For help on build, please -read the BUILD file. - -Install: --------- -On build with MS Visual Studio, the required plugin files will be copied into -your Autodesk Maya directories. - -NOTE: -The "YOUR_MAYA_PATH" used in the following section depends on your Maya -version. Following environment variables to your Maya location are supported: -- MAYA_PATH2010 -- MAYA_PATH2010_X64 -- MAYA_PATH2009 -- MAYA_PATH2009_X64 -- MAYA_PATH2008 -- MAYA_PATH2008_X64 - -If you install the binary, you have to copy following files: -- "COLLADAMaya.mll" to $(YOUR_MAYA_PATH)/bin/plug-ins -- "openColladaExporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others -- "openColladaImporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others - -You can also define a environment variable "MAYA_PLUG_IN_PATH" and put the -mll-file into the refered directory. Autodesk Maya will load the plug-ins -from this directory too. - -Execute: --------- -When you start Autodesk Maya, go to the menu - Window > Settings/Preferences > Plug-in Manager -and load the plug-in "COLLADAMaya.mll" from the extended list. - -Now you can export your maya scene into a COLLADA file. - -Maya plugin loader bug: ------------------------ -Maya error: "Failed to find COLLADAMaya plug-in" -It's a known bug that sometimes in some maya versions maya don't recognoize the -last converter on the list. To fix this, load a extra plug-in after the fact -and it should work. - +## Installation of openCOLLADA plugin for Maya + +Requirements: +------------- +To run the COLLADAMaya plug-in, you need a version of Autodesk Maya installed. + +Supported versions are: +Autodesk Maya 2011 +Autodesk Maya 2012 +Autodesk Maya 2013 +Autodesk Maya 2014 +Autodesk Maya 2015 +Autodesk Maya 2016 + +-------- + +Find where Maya is installed. You should have an environment variable such as MAYA_PATH2012 or/and MAYA_PATH2015_X64. +To list all environment variables starting with MAYA, type the following command in a dos prompt: + +prompt>set maya + +Find the plug-in binary. It will be in COLLADAMaya\bin\win +Go to Win32 or X64 depending if your installing for Maya 32 or 64 bits +Then go to the specific build you want to install. + Most commonly it will be ReleasePlugin2011-2015 depending of what Maya version you have. + +The mel scripts are located in the scripts/ folder. + + +Then copy the files: +- "COLLADAMaya.mll" to $(YOUR_MAYA_PATH)/bin/plug-ins +- "openColladaExporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others +- "openColladaImporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others + +Alternatively, you can also define a environment variable "MAYA_PLUG_IN_PATH" and put the +mll-file into the refered directory. Autodesk Maya will load the plug-ins +from this directory too. + +Execute: +-------- +When you start Autodesk Maya, go to the menu + Window > Settings/Preferences > Plug-in Manager +and load the plug-in "COLLADAMaya.mll" from the extended list. + +Now you can export your maya scene into a COLLADA file. + +Console Build: +-------------- + +This build a standalone app 'COLLADAMaya.exe'. +In order to run this application, two environment variables need to be set: + PATH need to contain the path to the maya dlls + MAYA_LOCATION need to point to maya install dir + + for example, for MAYA 2015 64 bits: + PATH=%PATH;%MAYA_PATH2015_X64% + MAYA_LOCATION=%MAYA_PATH2015_X64% + +if the PATH is not set, windows will complain about not finding dlls +if the MAYA_LOCATION is not set, running the program will show an empty error window. + + +Known Maya bug: +-------------- +Maya error: "Failed to find COLLADAMaya plug-in" +It's a known bug that sometimes in some maya versions maya don't recognoize the +last converter on the list. To fix this, load a extra plug-in after the fact +and it should work. + +Report issues: +-------------- +https://github.com/KhronosGroup/OpenCOLLADA/issues + diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/README.TXT opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/README.TXT --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/README.TXT 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/README.TXT 2016-07-13 19:25:45.000000000 +0000 @@ -6,3 +6,54 @@ memory consumption and better performance. For installation instructions please read the "INSTALL" file. + + +- General export options in OpenColladaMaya export plugin: + + . Bezier/Baking Animation: + +You can export animation into two different mode: Bezier or Baked (stacked matrix) +In Bezier mode, no sampling is use to get key animation value +In Baked mode, sampling is use to get animation value at constant sampling rate +use "Bake transforms" option if you want to bake animation, in the other case you will have bezier animation exported + + . Constant Key Bezier Animation Optimization: + +If you export animations with "Bake transforms" options, constant key animation (same value for all keyframes) will be automatically removed +If you want to remove constant key frames in Bezier mode, use "Optimize Animations" options +When you export Bezier animation, you will have animation value for translation X,Y,Z and Rotation X,Y,Z even if the value is constant +When you use "Optimize Animations" in Bezier Animation mode, only useful (not constant value) from translation X,Y,Z or Rotation X,Y,Z will be exported + + . Pose Animation: + +If you want to export Pose Animation (only 1 key frame animation), be careful to set Source Start = Source End = 0 in Animation Clip Attributes in Maya + + . Split animation/Mesh into two differents DAE files: + +use Polygon Meshes and Skin and Joints options ( no Animations option) if you want to export only Mesh into one DAE +use Animations and Joints options (no Polygon Meshes and no Skin option) if you want to export only Animation into one DAE +if you want to export full animation and mesh into the same DAE, use Polygon Meshes and Skin and Joints and Animations options + + +- Extra Attributes + +This plug-in currently supports export of Maya extra attributes for the following Maya node types: + . Transform (in ) + . Mesh shape (in ) + . Light shape (in ) + . PhysX RigidBody (in ) + . PhysX PhysicsShape (in ) + . PhysX RigidConstraint (in ) + +Extra attributes are exported in / section of corresponding COLLADA element with the following syntax: + +attribute_value + + . attribute_name is the name of the extra attribute. + . attribute_type is the type of the extra attribute. Supported types are: + . "int" (Maya extra attribute type: Integer) + . "string" (Maya extra attribute type: String or Enum) + . "float" (Maya extra attribute type: Float) + . "bool" (Maya extra attribute type: Boolean) + . "double3" (Maya extra attribute type: Vector) + . attribute_value is the extra attribute value as text. \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcproj 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,5706 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,3568 @@ + + + + + DebugConsole2011 + Win32 + + + DebugConsole2011 + x64 + + + DebugConsole2012 + Win32 + + + DebugConsole2012 + x64 + + + DebugConsole2013 + Win32 + + + DebugConsole2013 + x64 + + + DebugConsole2014 + Win32 + + + DebugConsole2014 + x64 + + + DebugConsole2015 + Win32 + + + DebugConsole2015 + x64 + + + DebugConsole2016 + Win32 + + + DebugConsole2016 + x64 + + + DebugPlugin2011 + Win32 + + + DebugPlugin2011 + x64 + + + DebugPlugin2012 + Win32 + + + DebugPlugin2012 + x64 + + + DebugPlugin2013 + Win32 + + + DebugPlugin2013 + x64 + + + DebugPlugin2014 + Win32 + + + DebugPlugin2014 + x64 + + + DebugPlugin2015 + Win32 + + + DebugPlugin2015 + x64 + + + DebugPlugin2016 + Win32 + + + DebugPlugin2016 + x64 + + + ReleaseConsole2011 + Win32 + + + ReleaseConsole2011 + x64 + + + ReleaseConsole2012 + Win32 + + + ReleaseConsole2012 + x64 + + + ReleaseConsole2013 + Win32 + + + ReleaseConsole2013 + x64 + + + ReleaseConsole2014 + Win32 + + + ReleaseConsole2014 + x64 + + + ReleaseConsole2015 + Win32 + + + ReleaseConsole2015 + x64 + + + ReleaseConsole2016 + Win32 + + + ReleaseConsole2016 + x64 + + + ReleaseConsoleProgDB2011 + Win32 + + + ReleaseConsoleProgDB2011 + x64 + + + ReleasePlugin2011 + Win32 + + + ReleasePlugin2011 + x64 + + + ReleasePlugin2012 + Win32 + + + ReleasePlugin2012 + x64 + + + ReleasePlugin2013 + Win32 + + + ReleasePlugin2013 + x64 + + + ReleasePlugin2014 + Win32 + + + ReleasePlugin2014 + x64 + + + ReleasePlugin2015 + Win32 + + + ReleasePlugin2015 + x64 + + + ReleasePlugin2016 + Win32 + + + ReleasePlugin2016 + x64 + + + + {60331F1F-2334-42AF-80A8-A4A6E3299186} + COLLADAMaya + + + + DynamicLibrary + v90 + true + Unicode + + + Application + v90 + true + Unicode + + + Application + v90 + Unicode + + + DynamicLibrary + v90 + Unicode + + + DynamicLibrary + v100 + true + Unicode + + + DynamicLibrary + v100 + true + Unicode + + + DynamicLibrary + v110 + true + Unicode + + + DynamicLibrary + v110 + true + Unicode + + + Application + v100 + true + Unicode + + + Application + v100 + true + Unicode + + + Application + v110 + true + Unicode + + + Application + v110 + true + Unicode + + + Application + v100 + Unicode + + + Application + v110 + Unicode + + + Application + v110 + Unicode + + + Application + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + Application + v120 + true + Unicode + + + Application + v90 + true + Unicode + + + Application + v90 + Unicode + + + DynamicLibrary + v90 + true + Unicode + + + DynamicLibrary + v90 + Unicode + + + DynamicLibrary + v90 + true + Unicode + + + Application + v90 + true + Unicode + + + Application + v90 + Unicode + + + DynamicLibrary + v90 + Unicode + + + DynamicLibrary + v100 + true + Unicode + + + DynamicLibrary + v100 + true + Unicode + + + DynamicLibrary + v110 + true + Unicode + + + DynamicLibrary + v110 + true + Unicode + + + Application + v100 + true + Unicode + + + Application + v100 + true + Unicode + + + Application + v110 + true + Unicode + + + Application + v110 + true + Unicode + + + Application + v100 + Unicode + + + Application + v110 + Unicode + + + Application + v110 + Unicode + + + Application + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v100 + Unicode + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + + + Application + v120 + true + Unicode + + + Application + v90 + true + Unicode + + + Application + v90 + Unicode + + + DynamicLibrary + v90 + true + Unicode + + + DynamicLibrary + v90 + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>12.0.30501.0 + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + true + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + ..\bin\win\$(Platform)\$(Configuration)\ + ..\obj\win\$(Platform)\$(Configuration)\ + false + true + + + + + + + + Disabled + ..\include;$(MAYA_PATH2011)\include;$(MAYA_PATH2011)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2011)\lib;%(AdditionalLibraryDirectories) + true + + false + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2011%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2011%25\bin\plug-ins" +mkdir "%25MAYA_PATH2011%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2011%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2011%25\scripts\others" ( +echo Creating "%25MAYA_PATH2011%25\scripts\others" +mkdir "%25MAYA_PATH2011%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2011%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2011_X64)\include;$(MAYA_PATH2011_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2011_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2011_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2011_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2011_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2011_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2011_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2011_X64%25\scripts\others" +mkdir "%25MAYA_PATH2011_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2011_X64%25\scripts\others" + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2011)\include;$(MAYA_PATH2011)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2011)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + false + false + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2011%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2011%25\bin\plug-ins" +mkdir "%25MAYA_PATH2011%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2011%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2011%25\scripts\others" ( +echo Creating "%25MAYA_PATH2011%25\scripts\others" +mkdir "%25MAYA_PATH2011%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2011%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2011_X64)\include;$(MAYA_PATH2011_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2011_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2011_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2011_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2011_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2011_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2011_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2011_X64%25\scripts\others" +mkdir "%25MAYA_PATH2011_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2011_X64%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2011)\include;$(MAYA_PATH2011)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2011_X64)\include;$(MAYA_PATH2011_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2011)\include;$(MAYA_PATH2011)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011)\lib;%(AdditionalLibraryDirectories) + false + + + UseLinkTimeCodeGeneration + + false + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2011_X64)\include;$(MAYA_PATH2011_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + UseLinkTimeCodeGeneration + main + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2011)\include;$(MAYA_PATH2011)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011)\lib;%(AdditionalLibraryDirectories) + false + true + + + UseLinkTimeCodeGeneration + + false + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2011_X64)\include;$(MAYA_PATH2011_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2011_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + UseLinkTimeCodeGeneration + main + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2013)\include;$(MAYA_PATH2013)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2013)\lib;%(AdditionalLibraryDirectories) + true + + false + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013%25\scripts\others" +mkdir "%25MAYA_PATH2013%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2014)\include;$(MAYA_PATH2014)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2014)\lib;%(AdditionalLibraryDirectories) + true + + + false + + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013%25\scripts\others" +mkdir "%25MAYA_PATH2013%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2016)\include;$(MAYA_PATH2016)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2016)\lib;%(AdditionalLibraryDirectories) + true + + + false + + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013%25\scripts\others" +mkdir "%25MAYA_PATH2013%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2015)\include;$(MAYA_PATH2015)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2015)\lib;%(AdditionalLibraryDirectories) + true + + + false + + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013%25\scripts\others" +mkdir "%25MAYA_PATH2013%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2013_X64)\include;$(MAYA_PATH2013_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2013_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013_X64%25\scripts\others" +mkdir "%25MAYA_PATH2013_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013_X64%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2014_X64)\include;$(MAYA_PATH2014_X64)\devkit\plug-ins;$(MAYA_PATH2014_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2014_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2014_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2014_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2014_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2014_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2014_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2014_X64%25\scripts\others" +mkdir "%25MAYA_PATH2014_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2014_X64%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2015_X64)\include;$(MAYA_PATH2015_X64)\devkit\plug-ins;$(MAYA_PATH2015_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2015_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2015_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2015_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2015_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2015_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2015_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2015_X64%25\scripts\others" +mkdir "%25MAYA_PATH2015_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2015_X64%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2016_X64)\include;$(MAYA_PATH2016_X64)\devkit\plug-ins;$(MAYA_PATH2016_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2016_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2016_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2016_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2016_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2016_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2016_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2016_X64%25\scripts\others" +mkdir "%25MAYA_PATH2016_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2016_X64%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2013)\include;$(MAYA_PATH2013)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2013)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2015)\include;$(MAYA_PATH2015)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2015)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2016)\include;$(MAYA_PATH2016)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2016)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2014)\include;$(MAYA_PATH2014)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2014)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2013_X64)\include;$(MAYA_PATH2013_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2013_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2015_X64)\include;$(MAYA_PATH2015_X64)\devkit\plug-ins;$(MAYA_PATH2015_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2015_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2016_X64)\include;$(MAYA_PATH2016_X64)\devkit\plug-ins;$(MAYA_PATH2016_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2016_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2014_X64)\include;$(MAYA_PATH2014_X64)\devkit\plug-ins;$(MAYA_PATH2014_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2014_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2013)\include;$(MAYA_PATH2013)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2013)\lib;%(AdditionalLibraryDirectories) + false + + + UseLinkTimeCodeGeneration + + false + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2014)\include;$(MAYA_PATH2014)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2014)\lib;%(AdditionalLibraryDirectories) + false + + + + + UseLinkTimeCodeGeneration + + + false + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2015)\include;$(MAYA_PATH2015)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2015)\lib;%(AdditionalLibraryDirectories) + false + + + + + UseLinkTimeCodeGeneration + + + false + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2016)\include;$(MAYA_PATH2016)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2016)\lib;%(AdditionalLibraryDirectories) + false + + + + + UseLinkTimeCodeGeneration + + + false + false + + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2013_X64)\include;$(MAYA_PATH2013_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2013_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + UseLinkTimeCodeGeneration + main + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2014_X64)\include;$(MAYA_PATH2014_X64)\devkit\plug-ins;$(MAYA_PATH2014_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2014_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + + + UseLinkTimeCodeGeneration + main + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2015_X64)\include;$(MAYA_PATH2015_X64)\devkit\plug-ins;$(MAYA_PATH2015_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2015_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + + + UseLinkTimeCodeGeneration + main + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2016_X64)\include;$(MAYA_PATH2016_X64)\devkit\plug-ins;$(MAYA_PATH2016_X64)\devkit\plug-ins\cgFX;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2016_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + + + UseLinkTimeCodeGeneration + main + false + + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2013)\include;$(MAYA_PATH2013)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2013)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + false + false + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013%25\scripts\others" +mkdir "%25MAYA_PATH2013%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013%25\scripts\others" + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2014)\include;$(MAYA_PATH2014)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2014)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + + false + false + + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2014%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2014%25\bin\plug-ins" +mkdir "%25MAYA_PATH2014%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2014%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2014%25\scripts\others" ( +echo Creating "%25MAYA_PATH2014%25\scripts\others" +mkdir "%25MAYA_PATH2014%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2014%25\scripts\others" + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2015)\include;$(MAYA_PATH2015)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2015)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + + false + false + + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2015%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2015%25\bin\plug-ins" +mkdir "%25MAYA_PATH2015%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2015%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2015%25\scripts\others" ( +echo Creating "%25MAYA_PATH2015%25\scripts\others" +mkdir "%25MAYA_PATH2015%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2015%25\scripts\others" + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2016)\include;$(MAYA_PATH2016)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2016)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + + false + false + + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2016%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2016%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2016%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2016%25\scripts\others" ( +echo Creating "%25MAYA_PATH2016%25\scripts\others" +mkdir "%25MAYA_PATH2016%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2016%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2013_X64)\include;$(MAYA_PATH2013_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2013_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2013_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2013_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2013_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2013_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2013_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2013_X64%25\scripts\others" +mkdir "%25MAYA_PATH2013_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2013_X64%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2014_X64)\include;$(MAYA_PATH2014_X64)\devkit\plug-ins;$(MAYA_PATH2014_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2014_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2014_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2014_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2014_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2014_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2014_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2014_X64%25\scripts\others" +mkdir "%25MAYA_PATH2014_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2014_X64%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2015_X64)\include;$(MAYA_PATH2015_X64)\devkit\plug-ins;$(MAYA_PATH2015_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2015_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2015_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2015_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2015_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2015_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2015_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2015_X64%25\scripts\others" +mkdir "%25MAYA_PATH2015_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2015_X64%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2016_X64)\include;$(MAYA_PATH2016_X64)\devkit\plug-ins;$(MAYA_PATH2016_X64)\devkit\plug-ins\cgFx;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE;_WIN32 + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2016_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2016_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2016_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2016_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2016_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2016_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2016_X64%25\scripts\others" +mkdir "%25MAYA_PATH2016_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2016_X64%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2012)\include;$(MAYA_PATH2012)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2012)\lib;%(AdditionalLibraryDirectories) + true + + false + + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2012%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2012%25\bin\plug-ins" +mkdir "%25MAYA_PATH2012%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2012%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2012%25\scripts\others" ( +echo Creating "%25MAYA_PATH2012%25\scripts\others" +mkdir "%25MAYA_PATH2012%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2012%25\scripts\others" + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2012_X64)\include;$(MAYA_PATH2012_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2012_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2012_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2012_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2012_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2012_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2012_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2012_X64%25\scripts\others" +mkdir "%25MAYA_PATH2012_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2012_X64%25\scripts\others" + + + + + + + + + + Disabled + ..\include;$(MAYA_PATH2012)\include;$(MAYA_PATH2012)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\pcre\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + EnableFastChecks + MultiThreadedDebug + true + Use + COLLADAMayaStableHeaders.h + Level2 + EditAndContinue + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2012)\lib;%(AdditionalLibraryDirectories) + false + true + Console + + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + Disabled + ..\include;$(MAYA_PATH2012_X64)\include;$(MAYA_PATH2012_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + EnableFastChecks + MultiThreadedDebug + false + Use + COLLADAMayaStableHeaders.h + Level3 + ProgramDatabase + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2012_X64)\lib;%(AdditionalLibraryDirectories) + msvcrt;%(IgnoreSpecificDefaultLibraries) + true + Console + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + true + ..\include;$(MAYA_PATH2012)\include;$(MAYA_PATH2012)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2012)\lib;%(AdditionalLibraryDirectories) + false + + + UseLinkTimeCodeGeneration + + false + false + + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2012_X64)\include;$(MAYA_PATH2012_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level2 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + 1.3 + $(MAYA_PATH2012_X64)\lib;%(AdditionalLibraryDirectories) + false + Console + + + UseLinkTimeCodeGeneration + main + false + + MachineX64 + + + Copying console application into the testsuite + mkdir ..\bin\win\$(Platform)\$(Configuration) 2> nul +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) > nul +copy $(TargetPath) ..\testsuite > nul + + + + + + + + + + MaxSpeed + OnlyExplicitInline + true + ..\include;$(MAYA_PATH2012)\include;$(MAYA_PATH2012)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + false + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2012)\lib;%(AdditionalLibraryDirectories) + false + Windows + false + false + UseLinkTimeCodeGeneration + + false + false + + MachineX86 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2012%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2012%25\bin\plug-ins" +mkdir "%25MAYA_PATH2012%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2012%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2012%25\scripts\others" ( +echo Creating "%25MAYA_PATH2012%25\scripts\others" +mkdir "%25MAYA_PATH2012%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2012%25\scripts\others" + + + + + + + + + + X64 + + + MaxSpeed + true + ..\include;$(MAYA_PATH2012_X64)\include;$(MAYA_PATH2012_X64)\devkit\plug-ins;..\..\COLLADABaseUtils\include;..\..\COLLADAStreamWriter\include;..\..\Externals\Cg\include;..\..\COLLADASaxFrameworkLoader\include;..\..\COLLADASaxFrameworkLoader\include\generated15;..\..\COLLADAFramework\include;..\..\GeneratedSaxParser\include;..\..\Externals\LibXML\include;..\..\Externals\MayaDataModel\include;..\..\DAE2MA\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM;CM_EXPORTS;GLUT_NO_LIB_PRAGMA;GLUT_NO_WARNING_DISABLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;MLIBRARY_DONTUSE_MFC_MANIFEST;IWILLNOTUSEASSERTSOUTSIDETHISSCOPE + MultiThreaded + true + Use + COLLADAMayaStableHeaders.h + Level3 + + + /export:initializePlugin /export:uninitializePlugin %(AdditionalOptions) + Foundation.lib;OpenMaya.lib;OpenMayaAnim.lib;OpenMayaRender.lib;OpenMayaUI.lib;cg.lib;cgGL.lib;OpenGL32.lib;winmm.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).mll + 1.3 + $(MAYA_PATH2012_X64)\lib;%(AdditionalLibraryDirectories) + false + UseLinkTimeCodeGeneration + false + + MachineX64 + + + Copying plugin to Maya install + if not exist "..\bin\win\$(Platform)\$(Configuration)" ( +echo Creating ..\bin\win\$(Platform)\$(Configuration) +mkdir "..\bin\win\$(Platform)\$(Configuration)" > nul +) + +copy $(TargetPath) ..\bin\win\$(Platform)\$(Configuration) + +if not exist "%25MAYA_PATH2012_X64%25\bin\plug-ins" ( +echo Creating "%25MAYA_PATH2012_X64%25\bin\plug-ins" +mkdir "%25MAYA_PATH2012_X64%25\bin\plug-ins" > nul +) + +copy "$(TargetDir)\COLLADAMaya.mll" "%25MAYA_PATH2012_X64%25\bin\plug-ins" + +if not exist "%25MAYA_PATH2012_X64%25\scripts\others" ( +echo Creating "%25MAYA_PATH2012_X64%25\scripts\others" +mkdir "%25MAYA_PATH2012_X64%25\scripts\others" > nul +) + +copy "$(ProjectDir)*.mel" "%25MAYA_PATH2012_X64%25\scripts\others" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {2c3c4869-d684-4981-98e7-6d9798b72145} + false + + + {9f164b41-40e0-4efa-a7c7-a89c12b4fb39} + false + + + {8628a8f8-bd50-4463-9ee7-f9118cba194a} + false + + + {eab66f01-60b5-43c9-b78d-a8b0b545a20b} + false + + + {305c4dd6-e327-49b2-a14a-dbf7e06401d3} + false + + + + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj.filters opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj.filters --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/COLLADAMaya.vcxproj.filters 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,341 @@ + + + + + {be952a1d-c881-4dd6-9b45-2cfc104c5299} + cpp + + + {91ce7885-7327-4b1a-afbd-970de8dd39ba} + + + {23339c3f-2941-414e-8c4a-1b99fedef46b} + + + {6e86b0a9-366f-4101-b814-048ce037bd00} + + + {71ed4824-e089-48d9-bce5-5e01fa7db6a4} + + + {4db7a453-4e9e-4e26-a50f-32955c6f45a2} + + + {9ed4a0a4-01b4-47e4-80d6-55478794c841} + + + {6492e42e-7410-4db1-87bd-c5f13a541526} + + + {aef68142-6e82-4390-8454-3081ce309927} + + + {65d82d99-3f32-4945-9ce4-e41ce20b9e11} + h + + + {dead7e61-cf5c-4bb9-92ce-fc0fd8c584b4} + + + {aa8084af-79e8-4333-8dec-55385c6b406a} + + + {9761b49f-b0aa-449a-9f0e-28e88ab3f505} + + + {758eab63-af85-437a-82c7-bdf9ccef93f2} + + + {41d4d4f4-49e2-4287-b119-05868f0c2b58} + + + {6edc8064-1d0f-47ad-82d6-29d58d599a12} + + + {6e362859-dc71-461c-adcd-38ccdc3a9b25} + + + {736db473-3643-436c-a1b7-2139bead18fd} + + + + + Source Files\Utils + + + Source Files\Utils + + + Source Files\Utils + + + Source Files\Utils\Animation + + + Source Files\Utils\Animation + + + Source Files\Utils\Animation + + + Source Files\Utils\Animation + + + Source Files\Utils\Animation + + + Source Files\Utils\Geometry + + + Source Files\Helpers + + + Source Files\Helpers + + + Source Files\Helpers + + + Source Files\Helpers + + + Source Files\Helpers + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\SceneGraph + + + Source Files\SceneGraph + + + Source Files\Plugin + + + Source Files\Plugin + + + Source Files\Plugin + + + Source Files\Console + + + Source Files\Exporters + + + Source Files\Helpers + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + Source Files\Exporters + + + + + Header Files\Utils + + + Header Files\Utils + + + Header Files\Utils + + + Header Files\Utils + + + Header Files\Utils + + + Header Files\Utils + + + Header Files\Utils\Animation + + + Header Files\Utils\Animation + + + Header Files\Utils\Animation + + + Header Files\Utils\Animation + + + Header Files\Utils\Animation + + + Header Files\Utils\Animation + + + Header Files\Utils\Controller + + + Header Files\Utils\Controller + + + Header Files\Utils\Controller + + + Header Files\Utils\Geometry + + + Header Files\Utils\Geometry + + + Header Files\Helpers + + + Header Files\Helpers + + + Header Files\Helpers + + + Header Files\Helpers + + + Header Files\Helpers + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\SceneGraph + + + Header Files\SceneGraph + + + Header Files\Plugin + + + Header Files\Plugin + + + Header Files\Plugin + + + Header Files\Exporters + + + Header Files\Helpers + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Exporters + + + Header Files\Utils + + + Header Files\Exporters + + + \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/openColladaExporterOpts.mel opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/openColladaExporterOpts.mel --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/openColladaExporterOpts.mel 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/openColladaExporterOpts.mel 2016-07-13 19:25:45.000000000 +0000 @@ -13,6 +13,18 @@ http://www.opensource.org/licenses/mit-license.php */ +global string $colladaExportFilter10 = "DAE"; + +global proc defaultButtonPush() +{ + global string $colladaExportFilter10; + + string $basicFilter = "*.dae"; + string $result[] = `fileDialog2 -fileMode 1 -fileFilter $basicFilter -dialogStyle 2`; + + textFieldGrp -e -text $result $colladaExportFilter10; +} + global proc int openColladaExporterOpts ( string $parent, string $action, string $initialSettings, @@ -40,7 +52,7 @@ // Returns: // 1 if successfull. // 0 otherwise. -// +// { int $intVal; int $bResult; @@ -48,6 +60,11 @@ string $optionList[]; string $optionBreakDown[]; int $index; + float $version; + + global string $colladaExportFilter10; + + $version = getApplicationVersionAsFloat(); if ($action == "post") { @@ -76,6 +93,13 @@ checkBoxGrp -l " " + -ncb 1 + -v1 false + -l1 "Preserve source tree" + colladaPreserveSourceTree; + + checkBoxGrp + -l " " -l1 "Triangulate" -v1 false colladaExportTriangles; @@ -122,19 +146,45 @@ colladaExportFilter1; checkBoxGrp + -l "" + -ncb 1 + -v1 true + -l1 "Cameras" + colladaExportFilter1a; + + checkBoxGrp -l " " -ncb 2 -va2 true true - -la2 "Cameras" "Joints and skin" + -la2 "Joints" "Skin" colladaExportFilter2; checkBoxGrp -l " " - -ncb 1 - -v1 true - -l1 "Animations" + -ncb 2 + -va2 true false + -la2 "Animations" "Optimize Animations" colladaExportFilter3; - + + if ($version >= 2014) + { + checkBoxGrp + -l " " + -ncb 2 + -va2 true false + -la2 "Convex mesh geometries" "Physics" + colladaExportFilter9; + } + else + { + checkBoxGrp + -l " " + -ncb 1 + -v1 true + -l1 "Convex mesh geometries" + colladaExportFilter9; + } + checkBoxGrp -l " " -ncb 2 @@ -186,9 +236,35 @@ -ncb 2 -va2 false false -la2 "Referenced materials only" "Materials only" - -on2 "checkBoxGrp -e -en1 false colladaExportFilter1; checkBoxGrp -e -en2 false colladaExportFilter1; checkBoxGrp -e -en1 false colladaExportFilter2; checkBoxGrp -e -en2 false colladaExportFilter2; checkBoxGrp -e -en1 false colladaExportFilter3; checkBoxGrp -e -en1 false colladaExportFilter4; checkBoxGrp -e -en2 false colladaExportFilter4; checkBoxGrp -e -en1 false colladaExportFilter5a; checkBoxGrp -e -en1 false colladaExportFilter5; checkBoxGrp -e -en2 false colladaExportFilter5; checkBoxGrp -e -en1 false colladaExportFilter6; checkBoxGrp -e -en2 false colladaExportFilter6; checkBoxGrp -e -en1 false colladaExportFilter7; checkBoxGrp -e -en2 false colladaExportFilter7;" - -of2 "checkBoxGrp -e -en1 true colladaExportFilter1; checkBoxGrp -e -en2 true colladaExportFilter1; checkBoxGrp -e -en1 true colladaExportFilter2; checkBoxGrp -e -en2 true colladaExportFilter2; checkBoxGrp -e -en1 true colladaExportFilter3; checkBoxGrp -e -en1 true colladaExportFilter4; if ( `checkBoxGrp -q -v1 colladaExportFilter4` ) checkBoxGrp -e -en2 true colladaExportFilter4; checkBoxGrp -e -en1 true colladaExportFilter5a; checkBoxGrp -e -en1 true colladaExportFilter5; checkBoxGrp -e -en2 true colladaExportFilter5;checkBoxGrp -e -en1 true colladaExportFilter6; checkBoxGrp -e -en2 true colladaExportFilter6; checkBoxGrp -e -en1 true colladaExportFilter7; checkBoxGrp -e -en2 true colladaExportFilter7;" + -on2 "checkBoxGrp -e -en1 false colladaExportFilter1; checkBoxGrp -e -en2 false colladaExportFilter1; checkBoxGrp -e -en1 false colladaExportFilter1a; checkBoxGrp -e -en1 false colladaExportFilter2; checkBoxGrp -e -en2 false colladaExportFilter2; checkBoxGrp -e -en1 false colladaExportFilter3; checkBoxGrp -e -en2 false colladaExportFilter3; checkBoxGrp -e -en1 false colladaExportFilter4; checkBoxGrp -e -en2 false colladaExportFilter4; checkBoxGrp -e -en1 false colladaExportFilter5a; checkBoxGrp -e -en1 false colladaExportFilter11; checkBoxGrp -e -en1 false colladaExportFilter5; checkBoxGrp -e -en2 false colladaExportFilter5; checkBoxGrp -e -en1 false colladaExportFilter6; checkBoxGrp -e -en2 false colladaExportFilter6; checkBoxGrp -e -en1 false colladaExportFilter7; checkBoxGrp -e -en2 false colladaExportFilter7; checkBoxGrp -e -en1 false colladaExportFilter9" + -of2 "checkBoxGrp -e -en1 true colladaExportFilter1; checkBoxGrp -e -en2 true colladaExportFilter1; checkBoxGrp -e -en1 true colladaExportFilter1a; checkBoxGrp -e -en1 true colladaExportFilter2; checkBoxGrp -e -en2 true colladaExportFilter2; checkBoxGrp -e -en1 true colladaExportFilter3; checkBoxGrp -e -en2 true colladaExportFilter3; checkBoxGrp -e -en1 true colladaExportFilter4; if ( `checkBoxGrp -q -v1 colladaExportFilter4` ) checkBoxGrp -e -en2 true colladaExportFilter4; checkBoxGrp -e -en1 true colladaExportFilter5a; checkBoxGrp -e -en1 true colladaExportFilter11; checkBoxGrp -e -en1 true colladaExportFilter5; checkBoxGrp -e -en2 true colladaExportFilter5;checkBoxGrp -e -en1 true colladaExportFilter6; checkBoxGrp -e -en2 true colladaExportFilter6; checkBoxGrp -e -en1 true colladaExportFilter7; checkBoxGrp -e -en2 true colladaExportFilter7;checkBoxGrp -e -en1 true colladaExportFilter9" colladaExportFilter8; + + + + frameLayout -cll true -cl false -bv true -bs "etchedIn" -l "Separate File Export" colladaFilterFrame2; + + checkBoxGrp + -ncb 1 + -v1 false + -l1 "Export into separate files" + -on1 "checkBoxGrp -e -en1 false colladaExportFilter1; checkBoxGrp -e -en1 false colladaExportFilter2; checkBoxGrp -e -en2 false colladaExportFilter2; checkBoxGrp -e -en1 false colladaExportFilter3" + -of1 "checkBoxGrp -e -en1 true colladaExportFilter1; checkBoxGrp -e -en1 true colladaExportFilter2; checkBoxGrp -e -en2 true colladaExportFilter2; checkBoxGrp -e -en1 true colladaExportFilter3" + colladaExportFilter11; + + columnLayout; + radioButtonGrp -numberOfRadioButtons 2 -label "Export" -labelArray2 "Model" "Anim" + -sl 2 + -on1 "textFieldButtonGrp -e -en false $colladaExportFilter10" + -on2 "textFieldButtonGrp -e -en true $colladaExportFilter10" + colladaExportFilter12; + setParent ..; // columnLayout + + columnLayout; + textFieldButtonGrp -label "Model DAE" -buttonLabel "Search" -text "" -bc "defaultButtonPush" $colladaExportFilter10; + setParent ..; // RowLayout + + setParent ..; // frameLayout setParent ..; // columnLayout setParent ..; // frameLayout @@ -201,9 +277,8 @@ -ncb 2 -va2 true true -la2 "Export references" "Dereference" - -on1 "checkBoxGrp -e -en2 true -v2 true colladaXRef;" + -on1 "checkBoxGrp -e -en2 true colladaXRef;" -of1 "checkBoxGrp -e -en2 false colladaXRef;" - -of2 "checkBoxGrp -e -v1 false colladaXRef;" -on2 "checkBoxGrp -e -v1 true colladaXRef;" colladaXRef; @@ -281,6 +356,11 @@ $intVal = $optionBreakDown[1]; checkBoxGrp -e -v2 $intVal colladaRelativePaths; } + else if ( $optionBreakDown[0] == "preserveSourceTree" ) + { + $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v1 $intVal colladaPreserveSourceTree; + } else if ( $optionBreakDown[0] == "exportTriangles" ) { $intVal = $optionBreakDown[1]; @@ -323,9 +403,14 @@ else if ($optionBreakDown[0] == "exportCameras") { $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v1 $intVal colladaExportFilter1a; + } + else if ($optionBreakDown[0] == "exportJoints") + { + $intVal = $optionBreakDown[1]; checkBoxGrp -e -v1 $intVal colladaExportFilter2; } - else if ($optionBreakDown[0] == "exportJointsAndSkin") + else if ($optionBreakDown[0] == "exportSkin") { $intVal = $optionBreakDown[1]; checkBoxGrp -e -v2 $intVal colladaExportFilter2; @@ -335,6 +420,11 @@ $intVal = $optionBreakDown[1]; checkBoxGrp -e -v1 $intVal colladaExportFilter3; } + else if ($optionBreakDown[0] == "exportOptimizedBezierAnimation") + { + $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v2 $intVal colladaExportFilter3; + } else if ($optionBreakDown[0] == "exportInvisibleNodes") { $intVal = $optionBreakDown[1]; @@ -391,6 +481,22 @@ $intVal = $optionBreakDown[1]; checkBoxGrp -e -v2 $intVal colladaExportFilter8; } + else if ($version >= 2014 && $optionBreakDown[0] == "exportPhysics") + { + $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v2 $intVal colladaExportFilter9; + } + else if ($optionBreakDown[0] == "exportConvexMeshGeometries") + { + $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v1 $intVal colladaExportFilter9; + } + else if ($optionBreakDown[0] == "exportSeparateFile") + { + $intVal = $optionBreakDown[1]; + checkBoxGrp -e -v1 $intVal colladaExportFilter11; + } + // XRef options // @@ -447,6 +553,7 @@ $currentOptions = $currentOptions + "bakeTransforms=" + `checkBoxGrp -q -v1 colladaBakeTransforms` + ";"; $currentOptions = $currentOptions + "relativePaths=" + `checkBoxGrp -q -v1 colladaRelativePaths` + ";"; $currentOptions = $currentOptions + "copyTextures=" + `checkBoxGrp -q -v2 colladaRelativePaths` + ";"; + $currentOptions = $currentOptions + "preserveSourceTree=" + `checkBoxGrp -q -v1 colladaPreserveSourceTree` + ";"; $currentOptions = $currentOptions + "exportTriangles=" + `checkBoxGrp -q -v1 colladaExportTriangles` + ";"; $currentOptions = $currentOptions + "cgfxFileReferences=" + `checkBoxGrp -q -v1 colladaCgfxFileReferences` + ";"; $currentOptions = $currentOptions + "isSampling=" + `checkBoxGrp -q -v1 colladaIsSampling` + ";"; @@ -455,11 +562,37 @@ // Query filter options // - $currentOptions = $currentOptions + "exportPolygonMeshes=" + `checkBoxGrp -q -v1 colladaExportFilter1` + ";"; + $currentOptions = $currentOptions + "exportLights=" + `checkBoxGrp -q -v2 colladaExportFilter1` + ";"; - $currentOptions = $currentOptions + "exportCameras=" + `checkBoxGrp -q -v1 colladaExportFilter2` + ";"; - $currentOptions = $currentOptions + "exportJointsAndSkin=" + `checkBoxGrp -q -v2 colladaExportFilter2` + ";"; - $currentOptions = $currentOptions + "exportAnimations=" + `checkBoxGrp -q -v1 colladaExportFilter3` + ";"; + $currentOptions = $currentOptions + "exportCameras=" + `checkBoxGrp -q -v1 colladaExportFilter1a` + ";"; + + + // Export Separate File + if (`checkBoxGrp -q -v1 colladaExportFilter11`) + { + // Export Only Model + if (`radioButtonGrp -q -sl colladaExportFilter12` > 1) + { + checkBoxGrp -e -v1 true colladaExportFilter2; + checkBoxGrp -e -v1 true colladaExportFilter3; + checkBoxGrp -e -v2 false colladaExportFilter2; + checkBoxGrp -e -v1 false colladaExportFilter1; + } + else + { + checkBoxGrp -e -v1 false colladaExportFilter2; + checkBoxGrp -e -v1 false colladaExportFilter3; + checkBoxGrp -e -v2 true colladaExportFilter2; + checkBoxGrp -e -v1 true colladaExportFilter1; + } + } + + $currentOptions = $currentOptions + "exportPolygonMeshes=" + `checkBoxGrp -q -v1 colladaExportFilter1` + ";"; + $currentOptions = $currentOptions + "exportJoints=" + `checkBoxGrp -q -v1 colladaExportFilter2` + ";"; + $currentOptions = $currentOptions + "exportSkin=" + `checkBoxGrp -q -v2 colladaExportFilter2` + ";"; + $currentOptions = $currentOptions + "exportAnimations=" + `checkBoxGrp -q -v1 colladaExportFilter3` + ";"; + + $currentOptions = $currentOptions + "exportOptimizedBezierAnimation=" + `checkBoxGrp -q -v2 colladaExportFilter3` + ";"; $currentOptions = $currentOptions + "exportInvisibleNodes=" + `checkBoxGrp -q -v1 colladaExportFilter4` + ";"; $currentOptions = $currentOptions + "exportDefaultCameras=" + `checkBoxGrp -q -v2 colladaExportFilter4` + ";"; $currentOptions = $currentOptions + "exportTexCoords=" + `checkBoxGrp -q -v1 colladaExportFilter5a` + ";"; @@ -471,7 +604,30 @@ $currentOptions = $currentOptions + "exportTangents=" + `checkBoxGrp -q -v2 colladaExportFilter7` + ";"; $currentOptions = $currentOptions + "exportReferencedMaterials=" + `checkBoxGrp -q -v1 colladaExportFilter8` + ";"; $currentOptions = $currentOptions + "exportMaterialsOnly=" + `checkBoxGrp -q -v2 colladaExportFilter8` + ";"; - + if ($version >= 2014) + { + $currentOptions = $currentOptions + "exportPhysics=" + `checkBoxGrp -q -v2 colladaExportFilter9` + ";"; + } + $currentOptions = $currentOptions + "exportConvexMeshGeometries=" + `checkBoxGrp -q -v1 colladaExportFilter9` + ";"; + + + if (`checkBoxGrp -q -v1 colladaExportFilter11`) + { + if (`radioButtonGrp -q -sl colladaExportFilter12` > 1) + { + $currentOptions = $currentOptions + "exportAnimationsOnly=1;"; + } + else + { + $currentOptions = $currentOptions + "exportAnimationsOnly=0;"; + } + + $currentOptions = $currentOptions + "modelNameDAE=" + `textFieldGrp -q -text $colladaExportFilter10` + ";"; + } + + $currentOptions = $currentOptions + "exportSeparateFile=" + `checkBoxGrp -q -v1 colladaExportFilter11` + ";"; + + // External references options // $currentOptions = $currentOptions + "exportXRefs=" + `checkBoxGrp -q -v1 colladaXRef` + ";"; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/patch_version_info_h.bat opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/patch_version_info_h.bat --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/scripts/patch_version_info_h.bat 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/scripts/patch_version_info_h.bat 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,40 @@ +@echo off +REM This script will replace undefined SHA1 with the right one into the input file + + +set "TEMP_FILE=temp.h" +set "INPUT_FILE=..\..\COLLADABaseUtils\include\COLLADABUVersionInfo.h" +set CURRENT_REV="CURRENT_REVISION" + + +REM GET GIT SHA1 +FOR /f %%A in ('git describe --always') do set SHA=%%A + + +REM SEARCH FOR STRING TO CHANGED +For /f "tokens=1,2,3,4,5 delims= " %%A in (%INPUT_FILE%) do ( + if "%%C"==%CURRENT_REV% ( + set SEARCHED_STRING="%%E" + ) +) + + +REM Remove both Ends // http://www.dostips.com/DtTipsStringManipulation.php#Snippets.Replace +set SEARCHED_STRING=%SEARCHED_STRING:~2,-3% + + +REM CHANGE THIS STRING +REM call replace.bat "%%a" %SEARCHED_STRING% %SHA% %TEMP_FILE% + +for /f "delims=" %%a in (%INPUT_FILE%) do ( +SetLocal EnableDelayedExpansion +set "line=%%a" +echo !line:%SEARCHED_STRING%=%SHA%! >> %TEMP_FILE% +EndLocal +) + +REM REPLACE INPUT_FILE +copy %TEMP_FILE% %INPUT_FILE% +del %TEMP_FILE% + + diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationElement.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationElement.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationElement.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationElement.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -29,6 +29,7 @@ const String& nodeId, const String parameters[], const bool convertUnits, + MEulerRotation::RotationOrder order, SampleType sampleType ) : mBaseId ( baseId ) , mNodeId ( nodeId ) @@ -36,6 +37,7 @@ , mPlug ( plug ) , mIsSampling ( false ) , mParameters ( parameters ) + , mOrder(order) , mSampleType ( sampleType ) , mAnimatedCurves ( NULL ) , mConversion ( NULL ) @@ -43,6 +45,7 @@ , mIsRelativeAnimation ( false ) , mArrayElement ( -1 ) , mConvertUnits ( convertUnits ) + , mNeedToexport(true) {} // ---------------------------------------------------------- @@ -87,6 +90,9 @@ if ( ( mSampleType & kBoolean ) == kBoolean ) return 1; + else if ( ( mSampleType & kVector2 ) == kVector2 ) + return 2; + else if ( ( mSampleType & kMatrix ) == kMatrix ) return 16; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -22,6 +22,7 @@ #include "COLLADAMayaSceneGraph.h" #include "COLLADAMayaGeometryExporter.h" #include "COLLADAMayaVisualSceneExporter.h" +#include "COLLADASWConstants.h" #include #include @@ -36,6 +37,9 @@ #include "Math/COLLADABUMathUtils.h" +#include + + namespace COLLADAMaya { @@ -47,8 +51,8 @@ const String AnimationExporter::PARAM_TYPE_TRANSFORM = "TRANSFORM"; const String AnimationExporter::PARAM_TYPE_X_Y = "X_Y"; -#define SMALL_DELTA 0.001f - +#define SMALL_DELTA 0.001f +#define FLT_EPSILON 1.192092896e-07F /* smallest such that 1.0+FLT_EPSILON != 1.0 */ //--------------------------------------------------------------- AnimationExporter::AnimationExporter ( COLLADASW::StreamWriter* streamWriter, @@ -84,6 +88,91 @@ } } + + void AnimationExporter::restoreParamInstancedClip(std::vector& OriginalValues) + { + MItDependencyNodes clipItr(MFn::kClip); + for (int i = 0; !clipItr.isDone(); clipItr.next(), i++) + { + MFnClip clipFn; + clipFn.setObject(clipItr.item()); + clipFn.setEnabled(OriginalValues[i]); + } + } + + void AnimationExporter::saveParamInstancedClip(std::vector& OriginalValues) + { + numberOfInstancedClip = 0; + MItDependencyNodes clipItr(MFn::kClip); + for (; !clipItr.isDone(); clipItr.next()) + { + MFnClip clipFn; + + if (!clipFn.setObject(clipItr.item())) continue; + + String clipName = DocumentExporter::mayaNameToColladaName(clipFn.name()); + + if (!clipFn.getEnabled()) + OriginalValues.push_back(false); + else + OriginalValues.push_back(true); + + if (clipFn.isInstancedClip()) + numberOfInstancedClip++; + } + } + + void AnimationExporter::createAnimationClip(MFnClip ¤tMfnclip) + { + String clipName = DocumentExporter::mayaNameToColladaName(currentMfnclip.name()); + + float startTime = (float)clipSourceStart.as(MTime::kSeconds); + float endTime = (float)(startTime + (clipSourceEnd - clipSourceStart).as(MTime::kSeconds)); + + AnimationClip* clip = new AnimationClip(); + clip->colladaClip = new COLLADASW::ColladaAnimationClip(clipName, clipName, startTime, endTime); + + AnimatedElementList::iterator it = mAnimationElements.begin(); + while (it != mAnimationElements.end()) + { + AnimationElement* animatedElement = *it; + + if (animatedElement->isSampling() && animatedElement->isExported()) + clip->colladaClip->setInstancedAnimation(clipName + "_" + animatedElement->getBaseId()); + + ++it; + } + + if (clip->colladaClip->getInstancedAnimations().size() > 0) + mAnimationClips.push_back(clip); + } + + void AnimationExporter::generateSamplingFunctionForClip(MFnClip& clipFn) + { + AnimationHelper::mSamplingTimes.clear(); + + MTime::Unit MTimeUnit = clipFn.getStartFrame().unit(); + + // Avoid any potential precision accumulation problems by using the MTime class as an iterator + float start; + DagHelper::getPlugValue(clipFn.object(), ATTR_CLIP_SOURCE_START, start); + clipSourceStart = MTime(start, MTime::kSeconds); + + float end; + DagHelper::getPlugValue(clipFn.object(), ATTR_CLIP_SOURCE_END, end); + clipSourceEnd = MTime(end, MTime::kSeconds); + + clipSourceStart.setUnit(MTimeUnit); + + MTime startT = clipSourceStart; + MTime endT = startT + clipSourceEnd - clipSourceStart; + + for (MTime currentT = startT; currentT <= endT; ++currentT) + { + AnimationHelper::mSamplingTimes.push_back((float)currentT.as(MTime::kSeconds)); + } + } + //--------------------------------------------------------------- const AnimationClipList* AnimationExporter::exportAnimations() { @@ -92,22 +181,104 @@ // Create the curves for the samples AnimationSampleCache* animationSampleCache = mDocumentExporter->getAnimationCache(); - animationSampleCache->samplePlugs(); - - // Export all animations, which aren't exported until now. - postSampling(); - - if ( !mAnimationElements.empty() ) - { - // Open the animation library - openLibrary(); - - // Export the curves of the animated element and of the child elements recursive - exportAnimatedElements ( mAnimationElements ); - - // Close the collada animation tag - closeLibrary(); - } + + if (ExportOptions::bakeTransforms()) + { + + //-----Bake animation not within clip + { + animationSampleCache->samplePlugsWithoutClip(); + + // Export all animations, which aren't exported until now. + if (postSampling()) + { + // Open the animation library + openLibrary(); + + // Export the curves of the animated element and of the child elements recursive + exportAnimatedElements(mAnimationElements); + + } + } + + //----- Bake animation within clip + { + numberOfInstancedClip = 0; + std::vector< bool > OriginalValues; + + saveParamInstancedClip(OriginalValues); + + //delete all clip added fro character clip + mAnimationClips.clear(); + + // Get the currentClip activated and disable all other Clip + MItDependencyNodes clipItr(MFn::kClip); + MFnClip clipFn1; + for (int i1 = 0; !clipItr.isDone(); clipItr.next(), i1++) + { + if (!clipFn1.setObject(clipItr.item())) continue; + if (!clipFn1.isInstancedClip()) continue; + if (!clipFn1.getEnabled()) continue; + + + // Do not export referenced animation + MStatus status; + MObject obj = clipItr.thisNode(&status); + + if (obj.hasFn(MFn::kDependencyNode)) + { + MFnDependencyNode ClipFnNode(obj); + bool isLocal = !ClipFnNode.isFromReferencedFile(); + if (ExportOptions::exportXRefs() && ExportOptions::dereferenceXRefs()) isLocal = true; + if (!isLocal) continue; + } + + + String clipNameDisable; + currentAnimationClip = DocumentExporter::mayaNameToColladaName(clipFn1.name()); + + MItDependencyNodes clipItr2(MFn::kClip); + for (int i2 = 0; !clipItr2.isDone(); clipItr2.next(), i2++) + { + MFnClip clipFn2; + clipFn2.setObject(clipItr2.item()); + if (i2 != i1) + { + clipFn2.setEnabled(false); + clipNameDisable = DocumentExporter::mayaNameToColladaName(clipFn2.name()); + } + } + + generateSamplingFunctionForClip(clipFn1); + animationSampleCache->samplePlugsWithClip(clipFn1); + + if (postSampling()) + openLibrary(); + + // Export the curves of the animated element and of the child elements recursive + exportAnimatedElements(mAnimationElements); + + restoreParamInstancedClip(OriginalValues); + + createAnimationClip(clipFn1); + } + } + + closeLibrary(); + + } + else + { + + if (!mAnimationElements.empty()) + { + // Export the curves of the animated element and of the child elements recursive + exportAnimatedElements(mAnimationElements); + + // Close the collada animation tag + closeLibrary(); + } + } // Return the list with the animation clips to export return &mAnimationClips; @@ -116,7 +287,7 @@ //--------------------------------------------------------------- void AnimationExporter::lookForSamples() { - if ( ExportOptions::exportJointsAndSkin() ) + if (ExportOptions::exportJoints()) { // Get the list with the transform nodes. SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); @@ -175,47 +346,58 @@ // Get the animated element AnimationElement* animatedElement = *elementIter; - // Check the flag, if the element or a child element has curves - if ( !animatedElement->hasCurves() ) continue; + if (animatedElement->isExported()) + { - // TODO id preservation - // Open an animation node and add the channel of the current animation - const String& originalColladaId = animatedElement->getOriginalColladaId (); - if ( !originalColladaId.empty () ) - { - openAnimation ( originalColladaId ); - } - else - { - const String& baseId = animatedElement->getBaseId(); - openAnimation ( baseId ); - } + // Check the flag, if the element or a child element has curves + if (!animatedElement->hasCurves()) continue; - // Recursive call for all the animated children - const AnimatedElementList childElements = animatedElement->getAnimatedChildElements(); - exportAnimatedElements ( childElements ); + // Open the animation library + openLibrary(); - // Get the animated curves - AnimationCurveList animatedCurves = animatedElement->getAnimatedCurves(); - if ( animatedCurves.size() > 0 ) - { - // Check if the curves in the animated element can be merged. - std::vector defaultValues; - curvesAreMergeable ( animatedElement, &defaultValues ); - if ( defaultValues.size() != 0 ) - { - // Create a multi curve and export it - exportAnimatedMultiCurve ( animatedElement, defaultValues ); - } - else - { - // Export the data of every curve in the animated element - exportAnimatedCurves ( animatedElement ); - } - } - - // Close the current animation tag - closeAnimation(); + // TODO id preservation + // Open an animation node and add the channel of the current animation +/* const String& originalColladaId = animatedElement->getOriginalColladaId(); + if (!originalColladaId.empty()) + { + openAnimation(originalColladaId); + } + else +*/ { + const String& baseId = animatedElement->getBaseId(); + openAnimation(baseId); + } + + // Recursive call for all the animated children + const AnimatedElementList childElements = animatedElement->getAnimatedChildElements(); + exportAnimatedElements(childElements); + + // Get the animated curves + AnimationCurveList animatedCurves = animatedElement->getAnimatedCurves(); + if (animatedCurves.size() > 0) + { + // Check if the curves in the animated element can be merged. + std::vector defaultValues; + curvesAreMergeable(animatedElement, &defaultValues); + if (defaultValues.size() != 0) + { + // Create a multi curve and export it + exportAnimatedMultiCurve(animatedElement, defaultValues); + } + else + { + // Export the data of every curve in the animated element + exportAnimatedCurves(animatedElement); + } + } + + // Close the current animation tag + closeAnimation(); + } + + // Retrieve Original BaseId + String originalID = animatedElement->getOriginalBaseId(); + animatedElement->setBaseId(originalID); } } @@ -267,6 +449,7 @@ // Calculate the merged input keys and their wanted interpolations. std::vector mergedInputs; std::vector mergedInterpolations; + std::vector mergedStepInterpolations; AnimationCurveList::iterator curveIter = curves.begin(); for ( ; curveIter!=curves.end(); ++curveIter ) { @@ -295,6 +478,7 @@ // Insert this new key within the merged list. mergedInputs.insert ( mergedInputs.begin() + m, curveKeys[c]->input ); mergedInterpolations.insert ( mergedInterpolations.begin() + m, curveKeys[c]->interpolation ); + mergedStepInterpolations.insert(mergedStepInterpolations.begin() + m, curveKeys[c]->transformTypeStep); ++multiCurveKeyCount; ++m; ++c; } @@ -305,6 +489,7 @@ // Insert all these extra keys at the end of the merged list. mergedInputs.push_back ( curveKeys[c]->input ); mergedInterpolations.push_back ( curveKeys[c]->interpolation ); + mergedStepInterpolations.push_back(curveKeys[c]->transformTypeStep); ++c; } } @@ -315,6 +500,7 @@ { AnimationMKey* key = multiCurve->addKey ( ( COLLADASW::LibraryAnimations::InterpolationType ) mergedInterpolations[curvePosition] ); key->input = mergedInputs[curvePosition]; + key->transformTypeStep = mergedStepInterpolations[curvePosition]; } // Get the keys @@ -564,8 +750,10 @@ } //--------------------------------------------------------------- - void AnimationExporter::postSampling() + bool AnimationExporter::postSampling() { + bool needToExport = false; + AnimatedElementList::iterator it = mAnimationElements.begin(); while ( it!=mAnimationElements.end() ) { @@ -574,23 +762,43 @@ // Sample the animated elements, which aren't created until now if ( animatedElement->isSampling() ) { + if (ExportOptions::bakeTransforms()) + { + String prefix = currentAnimationClip.size() > 0 ? currentAnimationClip + "_" : ""; + animatedElement->setBaseId(prefix + animatedElement->getBaseId()); + animatedElement->clearAnimatedCurve(); + } + if ( !exportAnimation ( animatedElement ) ) { - delete animatedElement; - - // After erase, the iterator points to the next element in the list - it = mAnimationElements.erase ( it ); + if (ExportOptions::bakeTransforms()) + { + animatedElement->isExported(false); + ++it; + } + else + { + delete animatedElement; + + // After erase, the iterator points to the next element in the list + it = mAnimationElements.erase(it); + } } else { + animatedElement->isExported(true); ++it; + needToExport = true; } } else { - ++it; + animatedElement->isExported(false); + ++it; } } + + return needToExport; } //--------------------------------------------------------------- @@ -684,6 +892,8 @@ // The value lists for the collada sources std::vector input, output, inTangents, outTangents, tcbs, eases; std::vector interpolations; + std::vector stepInterpolations; + std::vector orders; bool hasTangents = animationCurve.hasTangents(); bool hasTCB = animationCurve.hasTCB(); @@ -705,6 +915,15 @@ interpolations.push_back ( COLLADASW::LibraryAnimations::getNameOfInterpolation ( key->interpolation ) ); + if (key->interpolation == STEP) + { + if (key->transformTypeStep._type[0] == STEPPED_NEXT) + stepInterpolations.push_back("STEP_NEXT"); + else + stepInterpolations.push_back("STEP"); + } + + // Handle Tangents if ( hasTangents ) { @@ -766,7 +985,7 @@ } // Write the input, output, tangents, tcbs and eases in the collada document - writeAnimationSource ( animationCurve, input, output, interpolations, + writeAnimationSource(animationCurve, input, output, interpolations, stepInterpolations, orders, inTangents, outTangents, tcbs, eases ); } @@ -777,6 +996,8 @@ const std::vector &input, const std::vector &output, const std::vector &interpolations, + const std::vector &stepInterpolations, + const std::vector &orders, const std::vector &inTangents, const std::vector &outTangents, const std::vector &tcbs, @@ -798,9 +1019,9 @@ // Get the dimension uint dimension = animationCurve.getDimension(); - + writeOutputSource ( sourceId, parameters+index, dimension, output ); - writeInterpolationSource ( sourceId, interpolations ); + writeInterpolationSource ( sourceId, interpolations, stepInterpolations, orders ); bool hasTangents = animationCurve.hasTangents(); if ( hasTangents ) @@ -817,6 +1038,139 @@ } } + + const String AnimationExporter::getNameOfStepInterpolation(const Step & type) + { + String FinalStep = ""; + + /* + Collada specification 1.5 only support STEP semantic (not STEP_NEXT) + So marker will provide this information inside a technique profile: + + + STEP_RZ|STEP_RX|STEP_TZ|STEP_TY|STEPNEXT_TX STEP_RZ|STEP_RY|STEP_RX|STEP_TZ|STEP_TY|STEP_TX + ZYX + + + If source interpolation is "BEZIER STEP BEZIER STEP" + + We know the first STEP will be: STEP_RZ|STEP_RX|STEP_TZ|STEP_TY|STEPNEXT_TX + This means this step is: + - a step for rotationZ,X and translationZ,Y + - a step_next for translationX + - and there is no step for rotationY, ScaleX,Y,Z + + This is useful for baked animation so we can recreate step keyframe matrix during engine import + + If we do not bake (Bezier) this information is still usefull (it will be only STEP or STEPNEXT) + During baking inside your engine you can recreate keyframe at step timing + + + marker let you know how to recreate rotation part of your matrix from Rx,Ry,Rz when + you import baked animation in your engine + + + + Example of a step animation curve for 1 parameter (Tx or Ty or Tz or Rx or Ry or Rz or Sx or Sy or Sz) + + STEP_NEXT: the value remains constant to the value of the second point of the segment, until the next segment + + B C + --------x---------------------x + | + | + x--------------------x + A + + 0 2.5 2.54 5 >> timing + + + STEP: the value remains constant to the value of the first point of the segment, until the next segment + + C + x---------------------x + | + | + x--------------------x-------- + A B + + 0 2.5 2.54 5 >> timing + + + When you bake this Step Bezier animation in your engine, you will need to create keyframe at point A,B and C + + */ + + + if ((type._transform & 0x20) >> 5) + { + String step = type._type[5] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_RZ")); + } + if ((type._transform & 0x10) >> 4) + { + String step = type._type[4] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_RY")); + } + if ((type._transform & 0x8) >> 3) + { + String step = type._type[3] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_RX")); + } + if ((type._transform & 0x4) >> 2) + { + String step = type._type[2] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_TZ")); + } + if ((type._transform & 0x2) >> 1) + { + String step = type._type[1] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_TY")); + } + if ((type._transform & 0x1) >> 0) + { + String step = type._type[0] == STEPPED ? "STEP" : "STEPNEXT"; + FinalStep += String((FinalStep.size() != 0 ? "|" : "") + step + String("_TX")); + } + + return FinalStep; + } + + const String AnimationExporter::getNameOfOrder(const MEulerRotation::RotationOrder & order) + { + String FinalOrder; + + switch (order) + { + case MEulerRotation::kXYZ: + FinalOrder = "ZYX"; + break; + case MEulerRotation::kXZY: + FinalOrder = "YZX"; + break; + case MEulerRotation::kYXZ: + FinalOrder = "ZXY"; + break; + case MEulerRotation::kYZX: + FinalOrder = "XZY"; + break; + case MEulerRotation::kZXY: + FinalOrder = "YXZ"; + break; + case MEulerRotation::kZYX: + FinalOrder = "XYZ"; + break; + default: + // Export XYZ euler rotation in Z Y X order in the file. + // The rotation order is set to XYZ, Collada reads backward the parameter. + FinalOrder = "ZYX"; + break; + } + + return FinalOrder; + + } + // --------------------------------------------------------------------- void AnimationExporter::exportAnimationSource ( AnimationMultiCurve &animationCurve ) { @@ -830,6 +1184,8 @@ // The value lists for the collada sources std::vector input, output, inTangents, outTangents, tcbs, eases; std::vector interpolations; + std::vector stepInterpolations; + std::vector orders; bool hasTangents = animationCurve.hasTangents(); bool hasTCB = animationCurve.hasTCB(); @@ -839,6 +1195,9 @@ bool convertUnits = parent->getConvertUnits (); const SampleType& sampleType = parent->getSampleType (); + + bool onlyOnce = false; + // Add the key values for ( uint i=0; iinterpolation ) ); + + + if (key->interpolation == STEP && key->transformTypeStep._transform != NO_Transformation) + { + stepInterpolations.push_back(getNameOfStepInterpolation(key->transformTypeStep)); + + if (!onlyOnce) + { + onlyOnce = true; + orders.push_back(getNameOfOrder(key->transformTypeStep._order)); + } + } // Handle Tangents if ( hasTangents ) @@ -882,7 +1253,7 @@ } // Write the input, output, tangents, tcbs and eases in the collada document - writeAnimationSource ( animationCurve, input, output, interpolations, + writeAnimationSource(animationCurve, input, output, interpolations, stepInterpolations, orders, inTangents, outTangents, tcbs, eases ); } @@ -1087,7 +1458,9 @@ //--------------------------------------------------------------- void AnimationExporter::writeInterpolationSource ( const String sourceId, - const std::vector interpolations ) + const std::vector interpolations, + const std::vector stepInterpolations, + const std::vector orders ) { // Just export if there are values if ( interpolations.size() > 0 ) @@ -1101,7 +1474,34 @@ source.setAccessorCount ( ( unsigned long ) interpolations.size() ); source.prepareToAppendValues(); source.appendValues ( interpolations ); - source.finish(); + + bool stepInterpolation = stepInterpolations.size() ? true : false; + source.finish(!stepInterpolation); + + if (stepInterpolation) + { + mSW->openElement(COLLADASW::CSWC::CSW_ELEMENT_TECHNIQUE); + + mSW->appendAttribute(COLLADASW::CSWC::CSW_ATTRIBUTE_PROFILE, PROFILE_MAYA); + + mSW->openElement(COLLADASW::CSWC::CSW_ELEMENT_STEP); + mSW->appendValues(stepInterpolations); + mSW->closeElement(); + + if (orders.size() > 0) + { + mSW->openElement(COLLADASW::CSWC::CSW_ELEMENT_ORDER); + mSW->appendValues(orders); + mSW->closeElement(); + } + + mSW->closeElement(); + + mSW->closeElement(); + } + + source.closeSourceElement(); + } } @@ -1283,6 +1683,7 @@ { MObject node = plug.node(); MFnDagNode fnDagNode ( node ); + MDagPath FnPath = MDagPath::getAPathTo(node); // Get the collada id. if ( node.hasFn ( MFn::kTransform ) ) @@ -1293,7 +1694,7 @@ DagHelper::getPlugValue ( node, COLLADA_ID_ATTRIBUTE_NAME, attributeValue ); if ( attributeValue != EMPTY_CSTRING ) nodeId = mDocumentExporter->mayaNameToColladaName ( attributeValue, false ); - else nodeId = mDocumentExporter->mayaNameToColladaName ( fnDagNode.name ().asChar () ); + else nodeId = mDocumentExporter->getVisualSceneExporter()->getColladaNodeId(FnPath); return nodeId; } // TODO Do we need it? @@ -1313,12 +1714,14 @@ } else { + String partialPathName1 = FnPath.partialPathName().asChar(); + String partialPathName = fnDagNode.partialPathName().asChar(); if ( partialPathName.empty() ) { return partialPathName; } - return DocumentExporter::mayaNameToColladaName ( fnDagNode.partialPathName(), false ); + return mDocumentExporter->getVisualSceneExporter()->getColladaNodeId(FnPath); } return EMPTY_STRING; @@ -1376,8 +1779,9 @@ return addPlugAnimation ( plug, targetSid, - sampleType, - parameters, + sampleType, + MEulerRotation::kXYZ, + parameters, convertUnits, arrayElement, isRelativeAnimation, @@ -1389,6 +1793,7 @@ MPlug& plug, const String& targetSid, const uint sampleType, + const MEulerRotation::RotationOrder& order, const String* parameters /* = EMPTY_PARAMETER */, const bool convertUnits /*= false*/, const int arrayElement /*= -1*/, @@ -1398,7 +1803,8 @@ return addPlugAnimation ( plug, targetSid, - ( SampleType ) sampleType, + ( SampleType ) sampleType, + order, parameters, convertUnits, arrayElement, @@ -1411,11 +1817,13 @@ MPlug& plug, const String& targetSid, const SampleType& sampleType, + const MEulerRotation::RotationOrder& order, const String* parameters /* = EMPTY_PARAMETER */, const bool convertUnits /*= false*/, const int arrayElement /*= -1*/, const bool isRelativeAnimation /*= false*/, - ConversionFunctor* conversion /*= NULL */ ) + ConversionFunctor* conversion /*= NULL */ + ) { // if (animatedValue == NULL) return; bool isAnimated = false; @@ -1432,12 +1840,19 @@ String baseId = getBaseId ( plug ); String nodeId = getNodeId ( plug ); + if (nodeId == "") + { + nodeId = DocumentExporter::mayaNameToColladaName(targetSid.c_str()); + } + + // Create the animated element. AnimationElement* animatedElement; - animatedElement = new AnimationElement ( plug, baseId, targetSid, nodeId, parameters, convertUnits, sampleType ); + animatedElement = new AnimationElement(plug, baseId, targetSid, nodeId, parameters, convertUnits, order, sampleType); animatedElement->setIsRelativeAnimation( isRelativeAnimation ); animatedElement->setArrayElement ( arrayElement ); animatedElement->setIsSampling ( isSampling ); + animatedElement->setOriginalBaseId(baseId); // Get the animation object MObject animationObject = plug.node(); @@ -1576,7 +1991,7 @@ // Create the animation curve from the current clip curveCreated = createAnimationCurveFromClip ( animatedElement, plug, conversion, curves, curveIndex ); - + // It is possible that the character has some curves as well as clips MPlug plugIntermediate; DagHelper::getPlugConnectedTo ( plug, plugIntermediate ); @@ -1661,6 +2076,13 @@ return curveCreated; } + + + static bool ApproximatelyEqual(float a, float b) + { + return fabs(a - b) <= (FLT_EPSILON + FLT_EPSILON); + } + // ------------------------------------------------------------ bool AnimationExporter::curvesAreEqual ( const AnimationCurveList &curves ) { @@ -1676,15 +2098,19 @@ { AnimationKey* key1 = ( ( AnimationKey* ) curve->getKey ( j ) ); AnimationKey* key2 = ( ( AnimationKey* ) curve->getKey ( j+1 ) ); - equals = key1->output == key2->output; + equals = ApproximatelyEqual(key1->output, key2->output); } } + else + { + equals = false; + } } return equals; } - // ------------------------------------------------------------ + // ------------------------------------------------------------ // Export a plug's animations, if present bool AnimationExporter::createAnimationCurveFromClip ( AnimationElement* animatedElement, @@ -1707,53 +2133,80 @@ getCharacterClips ( characterNode, clips ); if ( clips.empty() ) return false; + std::set clipSources; + // Iterate through the clips for ( AnimationClipList::iterator it = clips.begin(); it != clips.end(); ++it ) { AnimationClip* clip = ( *it ); int index = clip->findPlug ( plug ); - if ( index == -1 ) continue; - // Create a new animated element - String baseId = getBaseId ( plug ) + "-" + clip->getClipId(); - String subId = COLLADASW::Utils::checkID ( animatedElement->getTargetSid() ); - String nodeId = animatedElement->getNodeId(); - const String* parameters = animatedElement->getParameters(); - bool convertUnits = animatedElement->getConvertUnits (); - SampleType sampleType = animatedElement->getSampleType(); - AnimationElement* animatedChild = new AnimationElement ( plug, baseId, subId, nodeId, parameters, convertUnits, sampleType ); - - // Push the animated child in the child list of the parent animated element - animatedElement->addChildElement ( animatedChild ); - - // Create the curve segment for this clip-plug std::pair - MObject animCurveNode = clip->animCurves[index]; - AnimationCurve* curve = createAnimationCurveFromNode ( animatedChild, animCurveNode, baseId, curveIndex ); + float startTimeClip = clip->colladaClip->getStartTime(); + float endTimeClip = clip->colladaClip->getEndTime(); - if ( curve == NULL ) continue; + if (startTimeClip == endTimeClip) + index = 0; + else + { + if (index == -1) continue; + } + + bool found = false; + std::pair::iterator, bool> result = clipSources.insert(clip->getClipSourceId()); + found = !result.second; + + String baseId = getBaseId(plug) + "-" + clip->getClipSourceId(); - // Convert the values, for example if using angles. - curve->convertValues ( conversion, conversion ); + if (!found) + { + // Create a new animated element + String subId = COLLADASW::Utils::checkID(animatedElement->getTargetSid()); + String nodeId = animatedElement->getNodeId(); + const String* parameters = animatedElement->getParameters(); + bool convertUnits = animatedElement->getConvertUnits(); + SampleType sampleType = animatedElement->getSampleType(); + MEulerRotation::RotationOrder order = MEulerRotation::kXYZ; - // Set the dimension of the child clips - if ( animatedElement->isCompoundElement() ) curve->setDimension ( kSingle ); + AnimationElement* animatedChild = new AnimationElement(plug, baseId, subId, nodeId, parameters, convertUnits, order, sampleType); - // Add the created curve to the list of curves of the child element. - animatedChild->addAnimatedCurve ( curve ); + animatedChild->setOriginalBaseId(baseId); - // Set the flag, that a curve was created - curveCreated = true; - - // Assign the new curve to the animation clip. - // Open an animation node and add the channel of the current animation - const String& originalColladaId = animatedElement->getOriginalColladaId (); - if ( !originalColladaId.empty () ) + // Push the animated child in the child list of the parent animated element + animatedElement->addChildElement(animatedChild); + + MFnClip clipFn(clip->clipFn, &status); + generateSamplingFunctionForClip(clipFn); + + // Create the curve segment for this clip-plug std::pair + MObject animCurveNode = clip->animCurves[index]; + AnimationCurve* curve = createAnimationCurveFromNode(animatedChild, animCurveNode, baseId, curveIndex); + + if (curve == NULL) continue; + + + // Convert the values, for example if using angles. + curve->convertValues(conversion, conversion); + + // Set the dimension of the child clips + if (animatedElement->isCompoundElement()) curve->setDimension(kSingle); + + // Add the created curve to the list of curves of the child element. + animatedChild->addAnimatedCurve(curve); + + // Set the flag, that a curve was created + curveCreated = true; + + // Assign the new curve to the animation clip. + // Open an animation node and add the channel of the current animation + const String& originalColladaId = animatedElement->getOriginalColladaId(); + } +/* if ( !originalColladaId.empty () ) { clip->colladaClip->setInstancedAnimation ( originalColladaId ); } else - { - clip->colladaClip->setInstancedAnimation ( curve->getBaseId() ); + */ { + clip->colladaClip->setInstancedAnimation(baseId); } // Push the current curve in the list of curves @@ -1784,26 +2237,80 @@ { // Create the clips associated with this character MFnCharacter characterFn ( characterNode ); - int clipCount = characterFn.getSourceClipCount(); + int clipCount = characterFn.getScheduledClipCount(); if ( clipCount == 0 ) return; MPlugArray plugs; for ( int i=0; icolladaClip = new COLLADASW::ColladaAnimationClip ( clipName, startTime, endTime ); + clip->colladaClip = new COLLADASW::ColladaAnimationClip(clipName, clipNameSource, startTime, endTime); clip->characterNode = characterNode; - clipFn.getMemberAnimCurves ( clip->animCurves, clip->plugs ); + + bool isEventAnimation = false; + DagHelper::getPlugValue(clipNode, ATTR_EVENT_ANIMATION, isEventAnimation); + clip->colladaClip->setAnimationEvent(isEventAnimation); + + clip->colladaClip->addExtraTechniqueParameter(PROFILE_MAYA, ATTR_EVENT_ANIMATION, isEventAnimation); + clip->clipFn = clipFn.object(); + + clipFn.getMemberAnimCurves ( clip->animCurves, clip->plugs ); mAnimationClips.push_back ( clip ); characterClips.push_back ( clip ); @@ -1872,10 +2379,50 @@ // Create the animation keys createAnimationCurveKeys ( animCurveFn, curve, infoElement ); - + + // Verify that there is, in fact, an animation in this curve. + if (ExportOptions::exportOptimizedBezierAnimations() && BezierAllKeysAreEqual(curve)) + { + delete curve; + curve = NULL; + } + return curve; } + bool AnimationExporter::BezierAllKeysAreEqual(AnimationCurve* curve) + { + bool equals = true; + size_t valueCount = curve->getKeyCount(); + if (valueCount > 1) + { + for (size_t j = 0; j < (valueCount - 1) && equals; ++j) + { + AnimationKeyBezier* key1 = ((AnimationKeyBezier*)curve->getKey(j)); + AnimationKeyBezier* key2 = ((AnimationKeyBezier*)curve->getKey(j + 1)); + + if (j == 0) + { + equals = (COLLADABU::Math::Utils::equals(key1->output, key2->output, (float)getTolerance()) && + COLLADABU::Math::Utils::equals(key1->output - key1->inTangent.y, key2->output - key2->inTangent.y, (float)getTolerance())); + } + else if (j == valueCount - 1) + { + equals = (COLLADABU::Math::Utils::equals(key1->output, key2->output, (float)getTolerance()) && + COLLADABU::Math::Utils::equals(key1->input - key1->inTangent.x, key2->input - key2->inTangent.x, (float)getTolerance())); + } + else + { + equals = (COLLADABU::Math::Utils::equals(key1->output, key2->output, (float)getTolerance()) && + COLLADABU::Math::Utils::equals(key1->input - key1->inTangent.x, key2->input - key2->inTangent.x, (float)getTolerance()) && + COLLADABU::Math::Utils::equals(key1->output - key1->inTangent.y, key2->output - key2->inTangent.y, (float)getTolerance())); + } + + } + } + + return equals; + } // ------------------------------------------------------------ AnimationElement* AnimationExporter::findAnimated ( const MPlug& plug, int& index ) @@ -1927,7 +2474,27 @@ { InterpolationType interpolationType; interpolationType = AnimationHelper::toInterpolation ( animCurveFn.outTangentType ( keyPosition ) ); - AnimationKey* key = ( ( AnimationKey* ) curve->addKey ( interpolationType ) ); + + // check if Step key is inbetween frame. In that case it is not exported + if (interpolationType == STEP_NEXT || interpolationType == STEP) + { + float key1 = (float)animCurveFn.time(keyPosition).as(MTime::kSeconds); + std::vector& times = AnimationHelper::mSamplingTimes; + std::vector::iterator itFound; + + itFound = find(times.begin(), times.end(), key1); + if (!(itFound != times.end())) + { + continue; + } + } + + AnimationKey* key = ((AnimationKey*)curve->addKey(interpolationType == STEP_NEXT ? STEP : interpolationType)); + + if (interpolationType == STEP_NEXT) + key->transformTypeStep._type[0] = STEPPED_NEXT; + else if (interpolationType == STEP) + key->transformTypeStep._type[0] = STEPPED; // Gather the key time values if ( animCurveFn.isTimeInput() ) diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationHelper.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationHelper.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationHelper.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationHelper.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -216,9 +216,10 @@ std::vector* inputs = NULL; std::vector* outputs = NULL; + std::vector< std::pair >* interpolation = NULL; // Buffer temporarly the inputs and outputs, so they can be sorted - if ( !cache->findCachePlug ( plug, inputs, outputs ) || inputs == NULL || outputs == NULL ) return false; + if ( !cache->findCachePlug ( plug, inputs, outputs, interpolation ) || inputs == NULL || outputs == NULL || interpolation == NULL) return false; uint inputCount = ( uint ) inputs->size(); @@ -288,8 +289,10 @@ { if ( curves.size() != 16 ) return false; - std::vector* inputs = NULL,* outputs = NULL; - if ( !cache->findCachePlug ( plug, inputs, outputs ) || inputs == NULL || outputs == NULL ) + std::vector* inputs = NULL, *outputs = NULL; + std::vector< std::pair >* interpolation = NULL; + + if (!cache->findCachePlug(plug, inputs, outputs, interpolation) || inputs == NULL || outputs == NULL || interpolation == NULL) return false; size_t keyCount = inputs->size(); @@ -302,6 +305,17 @@ key->input = inputs->at ( j ); key->output = outputs->at ( j*16 + i ); + if (interpolation->at(j).first) + { + key->interpolation = COLLADASW::LibraryAnimations::STEP; + key->transformTypeStep._transform = interpolation->at(j).second._transform; + + for (int k = 0; k < 9; k++) + key->transformTypeStep._type[k] = interpolation->at(j).second._type[k]; + + key->transformTypeStep._order = curves[i]->getParent()->getOrder(); + } + // Either here with flag "convertUnits" or in method // AnimationExporter::exportAnimationSource ( AnimationMultiCurve &animationCurve ) // if ( (i+1)%4 == 0 && (i+1) < 16 ) @@ -410,6 +424,9 @@ case MFnAnimCurve::kTangentStep: return COLLADASW::LibraryAnimations::STEP; + case MFnAnimCurve::kTangentStepNext: + return COLLADASW::LibraryAnimations::STEP_NEXT; + case MFnAnimCurve::kTangentClamped: return COLLADASW::LibraryAnimations::BEZIER; @@ -551,6 +568,7 @@ case kVector: case kColour: + case kVector2: { // Check for one node affecting the whole value. bool forceSampling = ExportOptions::isSampling(); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationKeys.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationKeys.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationKeys.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationKeys.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -20,6 +20,11 @@ namespace COLLADAMaya { + BaseAnimationKey::BaseAnimationKey() + { + input = -1; + } + // -------------------------------------------- AnimationMKey::AnimationMKey ( uint _dimension ) : BaseAnimationKey (), dimension ( _dimension ) diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationSampleCache.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationSampleCache.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationSampleCache.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAnimationSampleCache.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -19,14 +19,20 @@ #include "COLLADAMayaAnimationHelper.h" #include "COLLADAMayaDagHelper.h" #include "COLLADAMayaSyntax.h" +#include "COLLADAMayaDocumentExporter.h" #include +#include #include #include #include #include #include #include +#include + +#include +#include namespace COLLADAMaya @@ -92,7 +98,8 @@ // -------------------------------------------- bool AnimationSampleCache::findCachePlug ( const MPlug& plug, std::vector*& inputs, - std::vector*& outputs ) + std::vector*& outputs, + std::vector< std::pair >*& interpolation) { inputs = NULL; outputs = NULL; @@ -104,10 +111,11 @@ { if ( ( *it ).plug == plug && ( *it ).plug.logicalIndex() == plug.logicalIndex() ) { - if ( ( *it ).isAnimated ) + if ((*it).isAnimated) { - inputs = &AnimationHelper::mSamplingTimes; + inputs = &AnimationHelper::mSamplingTimes; outputs = & ( *it ).values; + interpolation = &(*it).stepInterpolation; } return true; @@ -286,94 +294,370 @@ } } - // -------------------------------------------- - void AnimationSampleCache::samplePlugs() - { - if ( mNodes.empty() ) return; - MTime originalTime; - MFnMatrixData matrixData; - MStatus stat; - AnimationHelper::getCurrentTime ( originalTime ); + void AnimationSampleCache::samplePlugsWithoutClip() + { + if (mNodes.empty()) return; + + // Search All AnimCurve associated directly to transform and set ALL plug associated with node exported + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) + { + CacheNode* c = (*it).second; + for (CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2) + { + CacheNode::Part& part = (*it2); + + part.animCurves.clear(); + + MStatus status; + + MFnDependencyNode fnNode(part.plug.node()); + + unsigned int attrCount = fnNode.attributeCount(&status); + if (!status) return; + for (unsigned int attrIndex = 0; attrIndex < attrCount; ++attrIndex) + { + MObject attrObject = fnNode.attribute(attrIndex, &status); + if (!status) continue; + + MFnAttribute fnAttr(attrObject, &status); + if (!status) continue; + + MString attrName = fnAttr.name(&status); + if (!status) continue; + + MObject animCurve = DagHelper::getNodeConnectedTo(part.plug.node(), attrName.asChar()); + + if (animCurve.hasFn(MFn::kAnimCurve)) + { + part.animCurves.push_back(animCurve); + + } + + + } + } + } + + samplePlugs(); + } + + + + void AnimationSampleCache::samplePlugsWithClip(MFnClip& clipFn) + { + if (mNodes.empty()) return; + + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) + { + CacheNode* c = (*it).second; + for (CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2) + { + CacheNode::Part& part = (*it2); + + part.animCurves.clear(); + } + } + + + // Set All plug in relation with a clip "exported" + MObjectArray animCurves; + MPlugArray plugs; + clipFn.getMemberAnimCurves(animCurves, plugs); + + for (unsigned int j = 0; j < animCurves.length(); j++) + { + MObject plugNode = plugs[j].node(); + MFnDependencyNode nodetracked(plugNode); + String nameTracked = nodetracked.name().asChar(); + + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) + { + CacheNode* c = (*it).second; + for (CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2) + { + CacheNode::Part& part = (*it2); + + MFnDependencyNode node1(part.plug.node()); + String name = node1.name().asChar(); + + if (plugs[j].node() == part.plug.node()) + { + part.animCurves.push_back(animCurves[j]); + } + } + } + } + + samplePlugs(); + } + + // -------------------------------------------- + void AnimationSampleCache::samplePlugs() + { + MTime originalTime; + MFnMatrixData matrixData; + MStatus stat; + AnimationHelper::getCurrentTime(originalTime); + + std::vector& times = AnimationHelper::mSamplingTimes; + uint sampleCount = (uint)times.size(); + + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) + { + CacheNode* c = (*it).second; + for (CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2) + { + CacheNode::Part& part = (*it2); + + std::vector< std::pair > interpolationStepTiming; + + MFnDependencyNode node1(part.plug.node()); + String name = node1.name().asChar(); + + { + if (part.isMatrix) + { + MStatus status; + Step step; + + for (unsigned int j = 0; j < part.animCurves.size(); j++) + { + + MFnDependencyNode animNode(part.animCurves[j]); + String nameAttrib = animNode.name().asChar(); + + + MFnAnimCurve animCurveFn(part.animCurves[j], &status); + + uint keyCount = animCurveFn.numKeys(); + + step._transform = NO_Transformation; + + for (uint keyPosition = 0; keyPosition < keyCount; ++keyPosition) + { + COLLADASW::LibraryAnimations::InterpolationType interpolationType; + interpolationType = AnimationHelper::toInterpolation(animCurveFn.outTangentType(keyPosition)); + + float stepTime = (float)animCurveFn.time(keyPosition).as(MTime::kSeconds); + + if ((interpolationType == COLLADASW::LibraryAnimations::STEP || + interpolationType == COLLADASW::LibraryAnimations::STEP_NEXT) && (stepTime >= (times.front())) && (stepTime <= (times.back()))) + { + + std::vector::iterator itFound; + + itFound = find(times.begin(), times.end(), stepTime); + + if (ExportOptions::bakeTransforms() && interpolationType == COLLADASW::LibraryAnimations::STEP) + { + if (itFound != times.begin()) + stepTime = *(itFound - 1); + else + continue; + } + + { + std::vector::iterator itLower = lower_bound(times.begin(), times.end(), stepTime); + int element = (int)(itLower - times.begin()); + + StepType type = interpolationType == COLLADASW::LibraryAnimations::STEP ? STEPPED : STEPPED_NEXT; + + if (nameAttrib.find("translateX") != std::string::npos) + { + step._transform = TransX; + step._type[0] = type; + } + else if (nameAttrib.find("translateY") != std::string::npos) + { + step._transform = TransY; + step._type[1] = type; + } + else if (nameAttrib.find("translateZ") != std::string::npos) + { + step._transform = TransZ; + step._type[2] = type; + } + else if (nameAttrib.find("rotateX") != std::string::npos) + { + step._transform = RotX; + step._type[3] = type; + } + else if (nameAttrib.find("rotateY") != std::string::npos) + { + step._transform = RotY; + step._type[4] = type; + } + else if (nameAttrib.find("rotateZ") != std::string::npos) + { + step._transform = RotZ; + step._type[5] = type; + } + else if (nameAttrib.find("scaleX") != std::string::npos) + { + step._transform = ScaleX; + step._type[6] = type; + } + else if (nameAttrib.find("scaleY") != std::string::npos) + { + step._transform = ScaleY; + step._type[7] = type; + } + else if (nameAttrib.find("scaleZ") != std::string::npos) + { + step._transform = ScaleZ; + step._type[8] = type; + } + else + { + // No step if it's not on a Txyz & Rxyz & Sxyz + continue; + } + + + class CompareStep + { + public: + + float stepTime; + + CompareStep(float step) + { + stepTime = step; + } + + bool operator()(const std::pair& step) + { + return (step.first == stepTime); + } + + }; + + + CompareStep myStepComparaison(stepTime); + + std::vector< std::pair >::iterator itFoundInterpolation = find_if(interpolationStepTiming.begin(), interpolationStepTiming.end(), myStepComparaison); + + if ((itFoundInterpolation != interpolationStepTiming.end())) + { + (*itFoundInterpolation).second._transform = (StepTransform)((int)((*itFoundInterpolation).second._transform) | (int)(step._transform)); + + for (int i = 0; i < 9; i++) + (*itFoundInterpolation).second._type[i] = step._type[i]; + } + else + interpolationStepTiming.push_back(std::make_pair(stepTime, step)); + + } + } + } + } + } + + part.stepInterpolation.resize(sampleCount); + for (uint i = 0; i < sampleCount; i++) + { + Step step; + part.stepInterpolation[i] = std::make_pair(false, step); + } + + for (int j = 0; j < interpolationStepTiming.size(); j++) + { + std::vector::iterator itLower = lower_bound(times.begin(), times.end(), interpolationStepTiming[j].first); + int element = (int)(itLower - times.begin()); + + part.stepInterpolation[element] = std::make_pair(true, interpolationStepTiming[j].second); + } + } + } + } - std::vector& times = AnimationHelper::mSamplingTimes; - uint sampleCount = ( uint ) times.size(); // Allocate the necessary memory in all the plug timing buffers - for ( CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it ) + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) { CacheNode* c = ( *it ).second; for ( CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2 ) { CacheNode::Part& part = ( *it2 ); - if ( part.isWanted ) + if ( part.isWanted) { part.values.resize ( ( !part.isMatrix ) ? sampleCount : 16 * sampleCount ); } } } - // Sample all the wanted plugs - for ( uint i = 0; i < sampleCount; ++i ) - { - MTime t ( times[i], MTime::kSeconds ); - AnimationHelper::setCurrentTime ( t ); - - for ( CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it ) - { - CacheNode* c = ( *it ).second; + for (uint i = 0; i < sampleCount; ++i) + { + MTime t(times[i], MTime::kSeconds); + AnimationHelper::setCurrentTime(t); + + for (CacheNodeMap::iterator it = mNodes.begin(); it != mNodes.end(); ++it) + { + CacheNode* c = (*it).second; + + for (CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2) + { + CacheNode::Part& part = (*it2); + + if (part.isWanted) + { + if (!part.isMatrix) + { + part.plug.getValue(part.values[i]); + + if (i > 0 && part.values[i - 1] != part.values[i]) part.isAnimated = true; + } + else + { + MFnDependencyNode node1(part.plug.node()); + String name = node1.name().asChar(); + + MTime Mtiming2; + AnimationHelper::getCurrentTime(Mtiming2); + float timing2 = (float)Mtiming2.as(MTime::kSeconds); - for ( CachePartList::iterator it2 = c->parts.begin(); it2 != c->parts.end(); ++it2 ) - { - CacheNode::Part& part = ( *it2 ); - if ( part.isWanted ) - { - if ( !part.isMatrix ) - { - part.plug.getValue ( part.values[i] ); - - if ( i > 0 && part.values[i-1] != part.values[i] ) part.isAnimated = true; - } - else - { - MObject val; - part.plug.getValue ( val ); + MObject val; + part.plug.getValue(val); - stat = matrixData.setObject ( val ); - if ( stat != MStatus::kSuccess ) MGlobal::displayWarning ( "Unable to set matrixData on sampled transform." ); + stat = matrixData.setObject(val); + if (stat != MStatus::kSuccess) MGlobal::displayWarning("Unable to set matrixData on sampled transform."); - MMatrix matrix = matrixData.matrix ( &stat ); - if ( stat != MStatus::kSuccess ) MGlobal::displayWarning ( "Unable to retrieve sampled matrixData." ); + MMatrix matrix = matrixData.matrix(&stat); + if (stat != MStatus::kSuccess) MGlobal::displayWarning("Unable to retrieve sampled matrixData."); #define PV(a,b,c) part.values[16*i+a] = (float) matrix[b][c] - PV ( 0, 0, 0 ); - PV ( 1, 1, 0 ); - PV ( 2, 2, 0 ); - PV ( 3, 3, 0 ); - PV ( 4, 0, 1 ); - PV ( 5, 1, 1 ); - PV ( 6, 2, 1 ); - PV ( 7, 3, 1 ); - PV ( 8, 0, 2 ); - PV ( 9, 1, 2 ); - PV ( 10,2, 2 ); - PV ( 11,3, 2 ); - PV ( 12,0, 3 ); - PV ( 13,1, 3 ); - PV ( 14,2, 3 ); - PV ( 15,3, 3 ); + PV(0, 0, 0); + PV(1, 1, 0); + PV(2, 2, 0); + PV(3, 3, 0); + PV(4, 0, 1); + PV(5, 1, 1); + PV(6, 2, 1); + PV(7, 3, 1); + PV(8, 0, 2); + PV(9, 1, 2); + PV(10, 2, 2); + PV(11, 3, 2); + PV(12, 0, 3); + PV(13, 1, 3); + PV(14, 2, 3); + PV(15, 3, 3); #undef PV + // 1 Frame Animation + if (sampleCount == 1) + part.isAnimated = true; #define PD(a) part.values[16*i+a] != part.values[16*(i-1)+a] - if ( i > 0 && ( PD ( 0 ) || PD ( 1 ) || PD ( 2 ) || PD ( 3 ) || PD ( 4 ) - || PD ( 5 ) || PD ( 6 ) || PD ( 7 ) || PD ( 8 ) || PD ( 9 ) || PD ( 10 ) - || PD ( 11 ) || PD ( 12 ) || PD ( 13 ) || PD ( 14 ) || PD ( 15 ) ) ) - part.isAnimated = true; - } - } - } - } - } + if (i > 0 && (PD(0) || PD(1) || PD(2) || PD(3) || PD(4) + || PD(5) || PD(6) || PD(7) || PD(8) || PD(9) || PD(10) + || PD(11) || PD(12) || PD(13) || PD(14) || PD(15))) + part.isAnimated = true; + } + } + } + } + } AnimationHelper::setCurrentTime ( originalTime ); } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAttributeParser.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAttributeParser.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaAttributeParser.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaAttributeParser.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,1099 @@ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaAttributeParser.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace COLLADAMaya +{ + void AttributeParser::parseAttributes(MFnDependencyNode & fnNode, AttributeParser & parser) + { + MStatus status; + unsigned int attrCount = fnNode.attributeCount(&status); + if (!status) return; + std::set parsedAttributes; + for (unsigned int attrIndex = 0; attrIndex < attrCount; ++attrIndex) + { + MObject attrObject = fnNode.attribute(attrIndex, &status); + if (!status) continue; + + MFnAttribute fnAttr(attrObject, &status); + if (!status) continue; + + MString attrName = fnAttr.name(&status); + if (!status) continue; + + // Don't parse the same attribute twice. + // This can happen with compound attributes. + String attrNameStr = attrName.asChar(); + if (parsedAttributes.find(attrNameStr) != parsedAttributes.end()) { + continue; + } + parsedAttributes.insert(attrNameStr); + + parser.parseAttribute(fnNode, attrObject, parsedAttributes); + } + } + + class AutoOnAfterAttribute + { + public: + AutoOnAfterAttribute(AttributeParser& parser, MFnDependencyNode& node, MObject& attribute) + : mParser(parser) + , mNode(node) + , mAttribute(attribute) + {} + + ~AutoOnAfterAttribute() + { + mParser.onAfterAttribute(mNode, mAttribute); + } + + private: + AttributeParser& mParser; + MFnDependencyNode& mNode; + MObject& mAttribute; + }; + + void AttributeParser::parseAttribute(MFnDependencyNode & node, MObject & attr, std::set& parsedAttributes) + { + AutoOnAfterAttribute onAfterAttribute(*this, node, attr); + + if (!onBeforeAttribute(node, attr)) { + // Skip attribute + return; + } + + MStatus status; + + MFnAttribute fnAttr(attr, &status); + if (!status) return; + + MString attrName = fnAttr.name(&status); + if (!status) return; + + // First handle numeric compound types + MFnNumericData::Type type; + if (IsNumericCompoundAttribute(attr, type)) + { + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + parseNumeric(plug, type); + + // Mark children as parsed + MFnCompoundAttribute fnCompoundAttribute(attr, &status); + if (!status) return; + + unsigned int numChildren = fnCompoundAttribute.numChildren(&status); + if (!status) return; + + for (unsigned int i = 0; i < fnCompoundAttribute.numChildren(); ++i) + { + MObject child = fnCompoundAttribute.child(i, &status); + if (!status) return; + + MFnAttribute childFnAttr(child); + parsedAttributes.insert(childFnAttr.name().asChar()); + } + } + // Other cases + else if (attr.hasFn(MFn::kCompoundAttribute)) { + parseCompoundAttribute(node, attr, parsedAttributes); + } + else if (attr.hasFn(MFn::kEnumAttribute)) { + parseEnumAttribute(node, attr); + } + else if (attr.hasFn(MFn::kGenericAttribute)) { + parseGenericAttribute(node, attr); + } + else if (attr.hasFn(MFn::kLightDataAttribute)) { + parseLightDataAttribute(node, attr); + } + else if (attr.hasFn(MFn::kMatrixAttribute)) { + parseMatrixAttribute(node, attr); + } + else if (attr.hasFn(MFn::kMessageAttribute)) { + parseMessageAttribute(node, attr); + } + else if (attr.hasFn(MFn::kNumericAttribute)) { + parseNumericAttribute(node, attr); + } + else if (attr.hasFn(MFn::kTypedAttribute)) { + parseTypedAttribute(node, attr); + } + else if (attr.hasFn(MFn::kUnitAttribute)) { + parseUnitAttribute(node, attr); + } + } + + void AttributeParser::parseNumericAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + MFnNumericAttribute fnNumAttr(attr, &status); + if (!status) return; + + MFnNumericData::Type type = fnNumAttr.unitType(&status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + parseNumeric(plug, type); + } + + void AttributeParser::parseTypedAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnTypedAttribute fnTypedAttr(attr, &status); + if (!status) return; + + MFnData::Type type = fnTypedAttr.attrType(&status); + if (!status) return; + + switch (type) + { + //! Invalid value + case MFnData::kInvalid: + break; + + //! Numeric, use MFnNumericData extract the node data. + case MFnData::kNumeric: + parseNumericData(node, attr); + break; + + //! Plugin Blind Data, use MFnPluginData to extract the node data. + case MFnData::kPlugin: + // TODO + break; + + //! Plugin Geometry, use MFnGeometryData to extract the node data. + case MFnData::kPluginGeometry: + // TODO + break; + + //! String, use MFnStringData to extract the node data. + case MFnData::kString: + parseStringData(node, attr); + break; + + //! Matrix, use MFnMatrixData to extract the node data. + case MFnData::kMatrix: + parseMatrixAttribute(node, attr); + break; + + //! String Array, use MFnStringArrayData to extract the node data. + case MFnData::kStringArray: + // TODO + break; + + //! Double Array, use MFnDoubleArrayData to extract the node data. + case MFnData::kDoubleArray: + // TODO + break; + +#if MAYA_API_VERSION >= 201400 + //! Float Array, use MFnFloatArrayData to extract the node data. + case MFnData::kFloatArray: + // TODO + break; +#endif + + //! Int Array, use MFnIntArrayData to extract the node data. + case MFnData::kIntArray: + // TODO + break; + + //! Point Array, use MFnPointArrayData to extract the node data. + case MFnData::kPointArray: + // TODO + break; + + //! Vector Array, use MFnVectorArrayData to extract the node data. + case MFnData::kVectorArray: + // TODO + break; + + //! Component List, use MFnComponentListData to extract the node data. + case MFnData::kComponentList: + parseComponentListData(node, attr); + break; + + //! Mesh, use MFnMeshData to extract the node data. + case MFnData::kMesh: + parseMeshData(node, attr); + break; + + //! Lattice, use MFnLatticeData to extract the node data. + case MFnData::kLattice: + // TODO + break; + + //! Nurbs Curve, use MFnNurbsCurveData to extract the node data. + case MFnData::kNurbsCurve: + // TODO + break; + + //! Nurbs Surface, use MFnNurbsSurfaceData to extract the node data. + case MFnData::kNurbsSurface: + // TODO + break; + + //! Sphere, use MFnSphereData to extract the node data. + case MFnData::kSphere: + // TODO + break; + + //! ArrayAttrs, use MFnArrayAttrsData to extract the node data. + case MFnData::kDynArrayAttrs: + // TODO + break; + + /*! SweptGeometry, use MFnDynSweptGeometryData to extract the + node data. This data node is in OpenMayaFX which must be + linked to. + */ + case MFnData::kDynSweptGeometry: + // TODO + break; + + //! Subdivision Surface, use MFnSubdData to extract the node data. + case MFnData::kSubdSurface: + // TODO + break; + + //! nObject data, use MFnNObjectData to extract node data + case MFnData::kNObject: + // TODO + break; + + //! nId data, use MFnNIdData to extract node data + case MFnData::kNId: + // TODO + break; + +#if MAYA_API_VERSION >= 201200 + //! Typically used when the data can be one of several types. + case MFnData::kAny: + // TODO + break; +#endif + + default: + break; + } + } + + void AttributeParser::parseEnumAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnEnumAttribute fnEnumAttribute(attr, &status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + int enumValue = 0; + status = plug.getValue(enumValue); + if (!status) return; + + MString enumName = fnEnumAttribute.fieldName(enumValue, &status); + if (!status) return; + + MString name = fnEnumAttribute.name(&status); + if (!status) return; + + onEnum(plug, name, enumValue, enumName); + } + + void AttributeParser::parseMessageAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnMessageAttribute fnMessageAttribute(attr, &status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MFnAttribute fnAttribute(attr, &status); + if (!status) return; + + MString name = fnAttribute.name(&status); + if (!status) return; + + onMessage(plug, name); + } + + void AttributeParser::parseMatrixAttribute(MFnDependencyNode & node, MObject & attribute) + { + MStatus status; + + MPlug plug = node.findPlug(attribute, &status); + if (!status) return; + + MFnAttribute fnAttribute(attribute, &status); + if (!status) return; + + MString name = fnAttribute.name(&status); + if (!status) return; + + MFnMatrixData mxData; + MObject object = mxData.create(&status); + if (!status) return; + + status = plug.getValue(object); + if (!status) return; + + status = mxData.setObject(object); + if (!status) return; + + const MMatrix& matrix = mxData.matrix(); + + onMatrix(plug, name, matrix); + } + + void AttributeParser::parseCompoundAttribute(MFnDependencyNode & node, MObject & attr, std::set& parsedAttributes) + { + MStatus status; + + MFnCompoundAttribute fnCompoundAttribute(attr, &status); + if (!status) return; + + unsigned int numChildren = fnCompoundAttribute.numChildren(&status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MFnAttribute fnAttr(attr, &status); + if (!status) return; + + MString name = fnAttr.name(&status); + if (!status) return; + + onCompoundAttribute(plug, name); + + // Recurse children + for (unsigned int i = 0; i < fnCompoundAttribute.numChildren(); ++i) + { + MObject child = fnCompoundAttribute.child(i, &status); + if (!status) continue; + + MFnAttribute childFnAttr(child, &status); + if (!status) continue; + + parsedAttributes.insert(childFnAttr.name().asChar()); + + parseAttribute(node, child, parsedAttributes); + } + } + + void AttributeParser::parseUnitAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnUnitAttribute fnAttr(attr, &status); + if (!status) return; + + MFnUnitAttribute::Type unitType = fnAttr.unitType(&status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MString name = fnAttr.name(&status); + if (!status) return; + + switch (unitType) + { + case MFnUnitAttribute::kAngle: + { + MAngle angle; + status = plug.getValue(angle); + if (!status) return; + onAngle(plug, name, angle); + } + break; + + case MFnUnitAttribute::kDistance: + { + MDistance distance; + status = plug.getValue(distance); + if (!status) return; + onDistance(plug, name, distance); + } + break; + + case MFnUnitAttribute::kTime: + { + MTime time; + status = plug.getValue(time); + if (!status) return; + onTime(plug, name, time); + } + break; + } + } + + void AttributeParser::parseGenericAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnGenericAttribute genericAttribute(attr, &status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MFn::Type type = genericAttribute.type(); + } + + void AttributeParser::parseLightDataAttribute(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnLightDataAttribute lightDataAttribute(attr, &status); + if (!status) return; + + // TODO + + // MObject directionX = fnLightDataAttribute.child(0, &status); + // if (!status) return; + //MObject directionY = fnLightDataAttribute.child(1, &status); + // if (!status) return; + //MObject directionZ = fnLightDataAttribute.child(2, &status); + // if (!status) return; + //MObject intensityR = fnLightDataAttribute.child(3, &status); + // if (!status) return; + //MObject intensityG = fnLightDataAttribute.child(4, &status); + // if (!status) return; + //MObject intensityB = fnLightDataAttribute.child(5, &status); + // if (!status) return; + //MObject ambient = fnLightDataAttribute.child(6, &status); + // if (!status) return; + //MObject diffuse = fnLightDataAttribute.child(7, &status); + // if (!status) return; + //MObject specular = fnLightDataAttribute.child(8, &status); + // if (!status) return; + //MObject shadowFraction = fnLightDataAttribute.child(9, &status); + // if (!status) return; + //MObject preShadowIntensity = fnLightDataAttribute.child(10, &status); + // if (!status) return; + } + + void AttributeParser::parseNumericData(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MFnNumericData fnNumericData(attr, &status); + if (!status) return; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MFnNumericData::Type type = fnNumericData.numericType(&status); + + parseNumeric(plug, type); + } + + void AttributeParser::parseNumeric(MPlug plug, MFnNumericData::Type type) + { + MStatus status; + + MObject attrObj = plug.attribute(&status); + if (!status) return; + + MFnAttribute attr(attrObj, &status); + if (!status) return; + + MString name = attr.name(&status); + if (!status) return; + + switch (type) + { + case MFnNumericData::kInvalid: //!< Invalid data. + break; + case MFnNumericData::kBoolean: //!< Boolean. + { + bool value; + status = plug.getValue(value); + if (!status) return; + onBoolean(plug, name, value); + } + break; + case MFnNumericData::kByte: //!< One byte. + { + char value; + status = plug.getValue(value); + if (!status) return; + onByte(plug, name, value); + } + break; + case MFnNumericData::kChar: //!< One character. + { + char value; + status = plug.getValue(value); + if (!status) return; + onChar(plug, name, value); + } + break; + case MFnNumericData::kShort: //!< One short. + { + short value; + status = plug.getValue(value); + if (!status) return; + onShort(plug, name, value); + } + break; + case MFnNumericData::k2Short: //!< Two shorts. + { + MObject object; + status = plug.getValue(object); + if (!status) return; + MFnNumericData fnNumericData(object, &status); + if (!status) return; + short value[2]; + status = fnNumericData.getData(value[0], value[1]); + if (!status) return; + onShort2(plug, name, value); + } + break; + case MFnNumericData::k3Short: //!< Three shorts. + { + MObject object; + status = plug.getValue(object); + if (!status) return; + MFnNumericData fnNumericData(object, &status); + if (!status) return; + short value[3]; + status = fnNumericData.getData(value[0], value[1], value[2]); + if (!status) return; + onShort3(plug, name, value); + } + break; + case MFnNumericData::kInt: //!< One long. Same as int since "long" is not platform-consistent. + { + int value; + status = plug.getValue(value); + if (!status) return; + onInteger(plug, name, value); + } + break; + case MFnNumericData::k2Int: //!< Two longs. Same as 2 ints since "long" is not platform-consistent. + { + MObject object; + status = plug.getValue(object); + if (!status) return; + MFnNumericData fnNumericData(object, &status); + if (!status) return; + int value[2]; + status = fnNumericData.getData(value[0], value[1]); + if (!status) return; + onInteger2(plug, name, value); + } + break; + case MFnNumericData::k3Int: //!< Three longs. Same as 3 ints since "long" is not platform-consistent. + { + MObject object; + status = plug.getValue(object); + if (!status) return; + MFnNumericData fnNumericData(object, &status); + if (!status) return; + int value[3]; + status = fnNumericData.getData(value[0], value[1], value[2]); + if (!status) return; + onInteger3(plug, name, value); + } + break; + case MFnNumericData::kFloat: //!< One float. + { + MFn::Type apiType = attrObj.apiType(); + switch (apiType) + { + case MFn::kFloatAngleAttribute: + { + MAngle angle = plug.asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + onAngle(plug, name, angle); + } + break; + case MFn::kFloatLinearAttribute: + { + MDistance distance = plug.asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + onDistance(plug, name, distance); + } + break; + default: + { + float value = plug.asFloat(MDGContext::fsNormal, &status); + if (!status) return; + onFloat(plug, name, value); + } + break; + } + } + break; + case MFnNumericData::k2Float: //!< Two floats. + { + const unsigned int numChildren = 2; + + MPlug childPlugs[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childPlugs[i] = plug.child(i, &status); + if (!status) return; + } + + MObject childAttr[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childAttr[i] = childPlugs[i].attribute(&status); + if (!status) return; + } + + MFn::Type apiType = childAttr[0].apiType(); + switch (apiType) + { + case MFn::kFloatAngleAttribute: + { + MAngle angles[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + angles[i] = childPlugs[i].asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + } + onAngle2(plug, name, angles); + } + break; + case MFn::kFloatLinearAttribute: + { + MDistance distances[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + distances[i] = childPlugs[i].asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + } + onDistance2(plug, name, distances); + } + break; + default: + { + float values[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + values[i] = childPlugs[i].asFloat(MDGContext::fsNormal, &status); + if (!status) return; + } + onFloat2(plug, name, values); + } + break; + } + } + break; + case MFnNumericData::k3Float: //!< Three floats. + { + const unsigned int numChildren = 3; + + MPlug childPlugs[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childPlugs[i] = plug.child(i, &status); + if (!status) return; + } + + MObject childAttr[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childAttr[i] = childPlugs[i].attribute(&status); + if (!status) return; + } + + MFn::Type apiType = childAttr[0].apiType(); + switch (apiType) + { + case MFn::kFloatAngleAttribute: + { + MAngle angles[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + angles[i] = childPlugs[i].asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + } + onAngle3(plug, name, angles); + } + break; + case MFn::kFloatLinearAttribute: + { + MDistance distances[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + distances[i] = childPlugs[i].asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + } + onDistance3(plug, name, distances); + } + break; + default: + { + float values[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + values[i] = childPlugs[i].asFloat(MDGContext::fsNormal, &status); + if (!status) return; + } + onFloat3(plug, name, values); + } + break; + } + } + break; + case MFnNumericData::kDouble: //!< One double. + { + MFn::Type apiType = attrObj.apiType(); + switch (apiType) + { + case MFn::kDoubleAngleAttribute: + { + MAngle angle = plug.asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + onAngle(plug, name, angle); + } + break; + case MFn::kDoubleLinearAttribute: + { + MDistance distance = plug.asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + onDistance(plug, name, distance); + } + break; + default: + { + double value = plug.asDouble(MDGContext::fsNormal, &status); + if (!status) return; + onDouble(plug, name, value); + } + break; + } + } + break; + case MFnNumericData::k2Double: //!< Two doubles. + { + const unsigned int numChildren = 2; + + MPlug childPlugs[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childPlugs[i] = plug.child(i, &status); + if (!status) return; + } + + MObject childAttr[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childAttr[i] = childPlugs[i].attribute(&status); + if (!status) return; + } + + MFn::Type apiType = childAttr[0].apiType(); + switch (apiType) + { + case MFn::kDoubleAngleAttribute: + { + MAngle angles[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + angles[i] = childPlugs[i].asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + } + onAngle2(plug, name, angles); + } + break; + case MFn::kDoubleLinearAttribute: + { + MDistance distances[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + distances[i] = childPlugs[i].asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + } + onDistance2(plug, name, distances); + } + break; + default: + { + double values[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + values[i] = childPlugs[i].asDouble(MDGContext::fsNormal, &status); + if (!status) return; + } + onDouble2(plug, name, values); + } + break; + } + } + break; + case MFnNumericData::k3Double: //!< Three doubles. + { + const unsigned int numChildren = 3; + + MPlug childPlugs[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childPlugs[i] = plug.child(i, &status); + if (!status) return; + } + + MObject childAttr[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childAttr[i] = childPlugs[i].attribute(&status); + if (!status) return; + } + + MFn::Type apiType = childAttr[0].apiType(); + switch (apiType) + { + case MFn::kDoubleAngleAttribute: + { + MAngle angles[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + angles[i] = childPlugs[i].asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + } + onAngle3(plug, name, angles); + } + break; + case MFn::kDoubleLinearAttribute: + { + MDistance distances[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + distances[i] = childPlugs[i].asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + } + onDistance3(plug, name, distances); + } + break; + default: + { + double values[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + values[i] = childPlugs[i].asDouble(MDGContext::fsNormal, &status); + if (!status) return; + } + onDouble3(plug, name, values); + } + break; + } + } + break; + case MFnNumericData::k4Double: //!< Four doubles. + { + const unsigned int numChildren = 4; + + MPlug childPlugs[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childPlugs[i] = plug.child(i, &status); + if (!status) return; + } + + MObject childAttr[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + childAttr[i] = childPlugs[i].attribute(&status); + if (!status) return; + } + + MFn::Type apiType = childAttr[0].apiType(); + switch (apiType) + { + case MFn::kDoubleAngleAttribute: + { + MAngle angles[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + angles[i] = childPlugs[i].asMAngle(MDGContext::fsNormal, &status); + if (!status) return; + } + onAngle4(plug, name, angles); + } + break; + case MFn::kDoubleLinearAttribute: + { + MDistance distances[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + distances[i] = childPlugs[i].asMDistance(MDGContext::fsNormal, &status); + if (!status) return; + } + onDistance4(plug, name, distances); + } + break; + default: + { + double values[numChildren]; + for (unsigned int i = 0; i < numChildren; ++i) { + values[i] = childPlugs[i].asDouble(MDGContext::fsNormal, &status); + if (!status) return; + } + onDouble4(plug, name, values); + } + break; + } + } + break; + case MFnNumericData::kAddr: //!< An address. + // TODO + break; + default: + break; + } + } + + void AttributeParser::parseStringData(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MString value; + status = plug.getValue(value); + if (!status) return; + + MFnAttribute fnAttr(attr, &status); + if (!status) return; + + MString name = fnAttr.name(&status); + if (!status) return; + + onString(plug, name, value); + } + + void AttributeParser::parseMeshData(MFnDependencyNode & node, MObject & attr) + { + MStatus status; + + MPlug plug = node.findPlug(attr, &status); + if (!status) return; + + MObject meshNode; + MPlugArray plugArray; + bool success = plug.connectedTo(plugArray, true, false, &status); + if (!status) return; + if (success) + { + MPlug extPlug = plugArray[0]; + bool hasConnection = !extPlug.isNull(&status); + if (!status) return; + if (hasConnection) + { + meshNode = extPlug.node(&status); + if (!status) return; + } + } + + /* + MDataHandle dataHandle; + status = plug.getValue(dataHandle); + if (!status) return; + + MObject meshData; + status = plug.getValue(meshData); + if (!status) return; + + MFnMesh fnMesh(meshData, &status); + if (!status) return; + + MDagPath dagPath = fnMesh.dagPath(&status); + if (!status) return; + + MObject meshNode = dagPath.node(&status); + */ + + MFnAttribute fnAttr(attr, &status); + if (!status) return; + + MString name = fnAttr.name(&status); + if (!status) return; + + onMesh(plug, name, meshNode); + } + + void AttributeParser::parseComponentListData (MFnDependencyNode & fnNode, MObject & attribute) + { + MStatus status; + + MFnComponentListData componentListData; + + MObject objectData = componentListData.create(&status); + if (!status) return; + + MPlug plug = fnNode.findPlug(attribute, &status); + if (!status) return; + + status = plug.getValue(objectData); + if (!status) return; + + status = componentListData.setObject(objectData); + if (!status) return; + + unsigned int length = componentListData.length(&status); + if (!status) return; + + for (unsigned int i = 0; i < length; ++i) { + MObject object = componentListData[i]; + } + + // TODO + } + + bool AttributeParser::IsNumericCompoundAttribute(const MObject& attr, MFnNumericData::Type& type) + { + MFn::Type apiType = attr.apiType(); + switch (apiType) + { + case MFn::kAttribute2Double: + type = MFnNumericData::k2Double; + return true; + case MFn::kAttribute2Float: + type = MFnNumericData::k2Float; + return true; + case MFn::kAttribute2Int: + type = MFnNumericData::k2Int; + return true; + case MFn::kAttribute2Short: + type = MFnNumericData::k2Short; + return true; + case MFn::kAttribute3Double: + type = MFnNumericData::k3Double; + return true; + case MFn::kAttribute3Float: + type = MFnNumericData::k3Float; + return true; + case MFn::kAttribute3Int: + type = MFnNumericData::k3Int; + return true; + case MFn::kAttribute3Short: + type = MFnNumericData::k3Short; + return true; + case MFn::kAttribute4Double: + type = MFnNumericData::k4Double; + return true; + } + return false; + } +} diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaCameraExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaCameraExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaCameraExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaCameraExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -97,16 +97,16 @@ // Check if the original instanced element is already exported. SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); SceneElement* exportedElement = sceneGraph->findExportedElement ( instancedPath ); - if ( exportedElement == 0 ) - { - // Export the original instanced element and push it in the exported scene graph. - if ( exportCamera ( instancedPath ) ) - { - SceneElement* instancedSceneElement = sceneGraph->findElement ( instancedPath ); - SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); - sceneGraph->addExportedElement ( instancedSceneElement ); - } - } + if (exportedElement == 0) + { + // Export the original instanced element and push it in the exported scene graph. + if (exportCamera(instancedPath)) + { + SceneElement* instancedSceneElement = sceneGraph->findElement(instancedPath); + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneGraph->addExportedElement(instancedSceneElement); + } + } } else { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaCgfxShaderIncludes.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaCgfxShaderIncludes.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaCgfxShaderIncludes.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaCgfxShaderIncludes.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -19,12 +19,19 @@ # pragma warning(disable: 4312) #endif + // make this compileable under linux #ifdef LINUX # define RedHat8_ #endif +#if defined(WIN64) && MAYA_API_VERSION >= 201600 && !defined(WIN32) +/* define WIN32 to work around CFGX WIN64 compilation */ +#define WIN32 +#endif + #include "cgfxAttrDef.cpp" + #if MAYA_API_VERSION > 800 #include "cgfxEffectDef.cpp" /* We undef the macros defined "cgfxEffectDef.cpp" to avoid compiler warning in "cgfxShaderNode.cpp"*/ @@ -35,10 +42,15 @@ #endif #endif // MAYA_API_VERSION > 800 + #include "cgfxFindImage.cpp" + #include "cgfxShaderCmd.cpp" + #include "cgfxShaderNode.cpp" + #include "cgfxVector.cpp" + #include "nv_dds.cpp" #if MAYA_API_VERSION >= 201200 @@ -50,7 +62,6 @@ #include "cgfxTextureCache.cpp" #endif - #ifdef _WIN32 # pragma warning(default: 4312) #endif diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaControllerExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaControllerExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaControllerExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaControllerExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -203,7 +203,7 @@ ControllerStackItem* item = stack[i]; if ( item->isSkin ) { - if ( ExportOptions::exportJointsAndSkin() && !alreadyHasSkin ) + if (ExportOptions::exportJoints() && !alreadyHasSkin) { // Correctly avoid chained joint-clusters: only export the first // joint cluster which exports the subsequent joint-clusters with it. @@ -387,7 +387,7 @@ String subId = colladaControllerId + MORPH_WEIGHTS_SOURCE_ID_SUFFIX; AnimationExporter* animExport = mDocumentExporter->getAnimationExporter(); - animExport->addPlugAnimation( weightPlug, subId, kSingle, XY_PARAMETERS, false, ( int ) j ); + animExport->addPlugAnimation(weightPlug, subId, kSingle, MEulerRotation::kXYZ, XY_PARAMETERS, false, (int)j); } // Write the controller data into the COLLADA document @@ -552,7 +552,8 @@ createJoints ( &skinController ); // Write the data into the collada document. - writeSkinController ( skinTarget, skinController ); + if (!((ExportOptions::exportAnimations()) && (ExportOptions::exportJoints() && !ExportOptions::exportSkin()))) + writeSkinController ( skinTarget, skinController ); } @@ -686,6 +687,51 @@ } } + static SceneElement* searchRootElement(SceneElement* sceneElement) + { + if (!sceneElement->getParentCount()) return sceneElement; + + for (uint i = 0; igetParentCount(); ++i) + { + SceneElement* parent = sceneElement->getParent(i); + String parentName = parent->getNodeName(); + if ( (parent = searchRootElement(parent)) != NULL) return parent; + } + + return NULL; + } + + static void AddElementToInfluences(MDagPathArray& influences, SceneElement* sceneElement) + { + bool found = false; + for (uint i = 0; i < influences.length(); i++) + { + if (sceneElement->getPath() == influences[i]) + { + found = true; + break; + } + } + + if (!found) + { + if (sceneElement->getChildCount() > 0) + { + const MDagPath dagPath = sceneElement->getPath(); + if (dagPath.hasFn(MFn::kJoint)) + influences.append(sceneElement->getPath()); + } + + } + + + for (uint i = 0; igetChildCount(); ++i) + { + SceneElement* childElement = sceneElement->getChild(i); + AddElementToInfluences(influences, childElement); + } + } + //------------------------------------------------------ void ControllerExporter::gatherBindMatrices( SkinController* skinController, @@ -694,13 +740,22 @@ // The list of joints MDagPathArray& influences = skinController->getInfluences(); - // Request a change in capacity - uint numInfluences = influences.length(); - std::vector& bindPoses = skinController->getBindPoses(); - bindPoses.reserve(numInfluences); - - // Gather the bind matrices - for (uint i = 0; i < numInfluences; ++i) + if (influences.length() > 0) + { + // Retrieve Root + SceneElement* sceneElement = mDocumentExporter->getSceneGraph()->findElement(influences[0]); + SceneElement* rootElement = searchRootElement(sceneElement); + + // Parse all childs from Root and add them into influences if not present into. + AddElementToInfluences(influences, rootElement); + } + + // Request a change in capacity + uint numInfluences = influences.length(); + std::vector& bindPoses = skinController->getBindPoses(); + bindPoses.reserve(numInfluences); + + for (uint i = 0; i < numInfluences; ++i) { MObject influence = influences[i].node(); MMatrix mayaBindPoseMatrix = DagHelper::getBindPoseInverse(controllerNode, influence); @@ -725,7 +780,7 @@ MDagPath dagPath = influences[i]; SkinControllerJoint &joint = joints[i]; - joint.first = mDocumentExporter->dagPathToColladaId ( dagPath ); + joint.first = mDocumentExporter->dagPathToColladaSid ( dagPath ); joint.second = skinController->getBindPoses()[i]; } } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaDagHelper.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaDagHelper.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaDagHelper.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaDagHelper.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -353,9 +354,29 @@ { MFnSkinCluster controllerFn ( controller ); + MFnDependencyNode fn(influence); + String nodeName = fn.name().asChar(); + // Find the correct index for the pre-bind matrix uint index = controllerFn.indexForInfluenceObject ( MDagPath::getAPathTo ( influence ), &status ); - if ( status != MStatus::kSuccess ) return MMatrix::identity; + if (status != MStatus::kSuccess) + { + MFnDependencyNode influenceNode(influence); + MPlug bindPosePlug = influenceNode.findPlug("bindPose", &status); + + if (status == MStatus::kSuccess) + { + MMatrix ret; + //this joint has been skinned but his influence has been removed so we need to retrieve his BindPose + if (!DagHelper::getPlugValue(bindPosePlug, ret)) + { + return MMatrix::identity; + } + + ret = ret.inverse(); + return ret; + } + } MPlug preBindMatrixPlug = controllerFn.findPlug ( "bindPreMatrix", &status ); preBindMatrixPlug = preBindMatrixPlug.elementByLogicalIndex ( index, &status ); @@ -535,7 +556,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, double &value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, double &value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -546,7 +567,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, float &value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, float &value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -621,7 +642,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, MEulerRotation& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, MEulerRotation& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -645,7 +666,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, bool& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, bool& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -668,7 +689,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, int& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, int& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -681,7 +702,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, MMatrix& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, MMatrix& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -710,7 +731,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, MColor& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, MColor& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -748,7 +769,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, MString& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, MString& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -760,7 +781,7 @@ //--------------------------------------------------- void DagHelper::getPlugValue ( const MObject& node, - const String attributeName, + const String& attributeName, MStringArray& output, MStatus* status ) { @@ -810,7 +831,7 @@ } //--------------------------------------------------- - bool DagHelper::getPlugValue ( const MObject& node, const String attributeName, MVector& value ) + bool DagHelper::getPlugValue ( const MObject& node, const String& attributeName, MVector& value ) { MStatus status; MPlug plug = MFnDependencyNode ( node ).findPlug ( attributeName.c_str(), &status ); @@ -820,6 +841,24 @@ } //--------------------------------------------------- + bool DagHelper::getPlugValue(const MObject& node, const String& attributeName, int& enumValue, MString& enumName) + { + MStatus status; + MPlug plug = MFnDependencyNode(node).findPlug(attributeName.c_str(), &status); + if (!status) return false; + return getPlugValue(plug, enumValue, enumName); + } + + //--------------------------------------------------- + bool DagHelper::getPlugValue(const MObject& node, const String& attributeName, MObject& value) + { + MStatus status; + MPlug plug = MFnDependencyNode(node).findPlug(attributeName.c_str(), &status); + if (!status) return false; + return getPlugValue(plug, value); + } + + //--------------------------------------------------- bool DagHelper::getPlugValue ( const MPlug& plug, MVector& value ) { MObject obj; @@ -837,6 +876,35 @@ return true; } + //--------------------------------------------------- + bool DagHelper::getPlugValue(const MPlug& plug, int& enumValue, MString& enumName) + { + MStatus status; + + MObject attr; + attr = plug.attribute(&status); + if (!status) return false; + + MFnEnumAttribute fnEnum(attr, &status); + if (!status) return false; + + status = plug.getValue(enumValue); + if (!status) return false; + + enumName = fnEnum.fieldName(enumValue, &status); + if (!status) return status; + + return true; + } + + //--------------------------------------------------- + bool DagHelper::getPlugValue(const MPlug& plug, MObject& value) + { + MStatus status = plug.getValue(value); + if (!status) return false; + return true; + } + //--------------------------------------------------- bool DagHelper::setPlugValue ( MPlug& plug, const MVector& value ) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaDocumentExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaDocumentExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaDocumentExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaDocumentExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -17,7 +17,10 @@ #include "COLLADAMayaDocumentExporter.h" #include "COLLADAMayaSceneGraph.h" #include "COLLADAMayaGeometryExporter.h" +#include "COLLADAMayaPhysicsExporter.h" +#include "COLLADAMayaPhysXExporter.h" #include "COLLADAMayaVisualSceneExporter.h" +#include "COLLADAMayaPhysicsSceneExporter.h" #include "COLLADAMayaEffectExporter.h" #include "COLLADAMayaImageExporter.h" #include "COLLADAMayaMaterialExporter.h" @@ -26,6 +29,8 @@ #include "COLLADAMayaAnimationSampleCache.h" #include "COLLADAMayaControllerExporter.h" #include "COLLADAMayaLightExporter.h" +#include "COLLADAMayaLODExporter.h" +#include "COLLADAMayaLightProbeExporter.h" #include "COLLADAMayaCameraExporter.h" #include "COLLADAMayaDagHelper.h" #include "COLLADAMayaShaderHelper.h" @@ -34,6 +39,8 @@ #include "COLLADAMayaSyntax.h" #include "COLLADAMayaReferenceManager.h" +#include "COLLADABUVersionInfo.h" + #include "COLLADASWAsset.h" #include "COLLADASWScene.h" #include "COLLADASWConstants.h" @@ -42,6 +49,11 @@ #include +#include +#include +#include +#include + namespace COLLADAMaya { @@ -57,13 +69,18 @@ , mImageExporter ( NULL ) , mGeometryExporter ( NULL ) , mVisualSceneExporter ( NULL ) + , mPhysicsSceneExporter(NULL) + , mPhysXExporter(NULL) , mAnimationExporter ( NULL ) , mAnimationClipExporter ( NULL ) , mControllerExporter ( NULL ) , mLightExporter ( NULL ) + , mLODExporter ( NULL ) + , mLightProbeExporter( NULL ) , mCameraExporter ( NULL ) , mSceneId ( "MayaScene" ) , mDigitTolerance (FLOAT_TOLERANCE) + , mExportPass(VISUAL_SCENE_PASS) { if ( ExportOptions::doublePrecision () ) { @@ -75,6 +92,7 @@ DocumentExporter::~DocumentExporter() { releaseLibraries(); // The libraries should already have been released + ParamClipVec.clear(); } //--------------------------------------------------------------- @@ -100,11 +118,16 @@ mEffectExporter = new EffectExporter ( &mStreamWriter, this ); mImageExporter = new ImageExporter ( &mStreamWriter ); mGeometryExporter = new GeometryExporter ( &mStreamWriter, this ); + mPhysicsExporter = new PhysicsExporter(&mStreamWriter, this); + mPhysXExporter = new PhysXExporter(mStreamWriter, *this); mVisualSceneExporter = new VisualSceneExporter ( &mStreamWriter, this, mSceneId ); + mPhysicsSceneExporter = new PhysicsSceneExporter(&mStreamWriter, this, mSceneId); mAnimationExporter = new AnimationExporter ( &mStreamWriter, this ); mAnimationClipExporter = new AnimationClipExporter ( &mStreamWriter ); mControllerExporter = new ControllerExporter ( &mStreamWriter, this ); mLightExporter = new LightExporter ( &mStreamWriter, this ); + mLODExporter = new LODExporter(&mStreamWriter, this); + mLightProbeExporter = new LightProbeExporter(&mStreamWriter, this); mCameraExporter = new CameraExporter ( &mStreamWriter, this ); } @@ -118,13 +141,64 @@ delete mImageExporter; delete mGeometryExporter; delete mVisualSceneExporter; + delete mPhysicsSceneExporter; + delete mPhysXExporter; delete mAnimationExporter; delete mAnimationClipExporter; delete mControllerExporter; delete mLightExporter; + delete mLODExporter; + delete mLightProbeExporter; delete mCameraExporter; } + void DocumentExporter::restoreParamClip() + { + MItDependencyNodes clipItr(MFn::kClip); + MFnClip clipFn; + for (int i1 = 0; !clipItr.isDone(); clipItr.next(), i1++) + { + if (!clipFn.setObject(clipItr.item())) continue; + clipFn.setAbsoluteChannelSettings(ParamClipVec.at(i1)); + } + } + + void DocumentExporter::saveParamClip() + { + int length = 0; + + MItDependencyNodes CharacterItr(MFn::kCharacter); + for (int i1 = 0; !CharacterItr.isDone(); CharacterItr.next(), i1++) + { + MFnCharacter character; + if (!character.setObject(CharacterItr.item())) continue; + + MPlugArray array; + character.getMemberPlugs(array); + + length = array.length(); + } + + MIntArray arrayChannelAttribute(length, 0); + + + MItDependencyNodes clipItr(MFn::kClip); + MFnClip clipFn; + for (int i1 = 0; !clipItr.isDone(); clipItr.next(), i1++) + { + + if (!clipFn.setObject(clipItr.item())) continue; + + // save original param + MIntArray arrayOriginalChannelAttribute(length); + clipFn.getAbsoluteChannelSettings(arrayOriginalChannelAttribute); + ParamClipVec.push_back(arrayOriginalChannelAttribute); + + // set relativeClip on + clipFn.setAbsoluteChannelSettings(arrayChannelAttribute); + } + } + //--------------------------------------------------------------- void DocumentExporter::exportCurrentScene ( bool selectionOnly ) @@ -144,43 +218,81 @@ if ( !ExportOptions::exportMaterialsOnly () ) { - // Start by caching the expressions that will be sampled - mSceneGraph->sampleAnimationExpressions(); - - // Export the lights. - mLightExporter->exportLights(); - - // Export the cameras. - mCameraExporter->exportCameras(); - - // Export the material URLs and get the material list - MaterialMap* materialMap = mMaterialExporter->exportMaterials(); - - // Export the effects (materials) - const ImageMap* imageMap = mEffectExporter->exportEffects ( materialMap ); - - // Export the images - mImageExporter->exportImages ( imageMap ); - - // Export the controllers. Must be done before the geometries, to decide, which - // geometries have to be exported (for example, if the controller need an invisible - // geometry, we also have to export it). - mControllerExporter->exportControllers(); - - // Export the geometries - mGeometryExporter->exportGeometries(); - - // Export the visual scene - bool visualSceneExported = mVisualSceneExporter->exportVisualScenes(); - - // Export the animations - const AnimationClipList* animationClips = mAnimationExporter->exportAnimations(); - - // Export the animation clips - mAnimationClipExporter->exportAnimationClips ( animationClips ); - - // Export the scene - if ( visualSceneExported ) exportScene(); + // Start by caching the expressions that will be sampled + mSceneGraph->sampleAnimationExpressions(); + + if (!ExportOptions::exportAnimations() || ExportOptions::exportPolygonMeshes()) + { + // Export the lights. + mLightExporter->exportLights(); + + // Export the cameras. + mCameraExporter->exportCameras(); + + // Export the material URLs and get the material list + MaterialMap* materialMap = mMaterialExporter->exportMaterials(); + + // Export the effects (materials) + const ImageMap* imageMap = mEffectExporter->exportEffects(materialMap); + + // Export the images + mImageExporter->exportImages(imageMap); + } + + // Export the controllers. Must be done before the geometries, to decide, which + // geometries have to be exported (for example, if the controller need an invisible + // geometry, we also have to export it). + mControllerExporter->exportControllers(); + + // Don't export Physics if required PhysX plugin is not loaded + if (ExportOptions::exportPhysics() && !PhysXExporter::CheckPhysXPluginVersion()) { + MGlobal::displayError(MString("Physics not exported. Minimum PhysX plugin version: ") + PhysXExporter::GetRequiredPhysXPluginVersion()); + MGlobal::displayError(MString("Installed version: ") + PhysXExporter::GetInstalledPhysXPluginVersion()); + ExportOptions::setExportPhysics(false); + } + + // Export PhysX to XML before exporting geometries + if (ExportOptions::exportPhysics() && !mPhysXExporter->generatePhysXXML()) { + // Don't try to export Physics if xml export has failed + ExportOptions::setExportPhysics(false); + MGlobal::displayError(MString("Error while exporting PhysX scene to XML. Physics not exported.")); + } + + // Export the geometries + mGeometryExporter->exportGeometries(); + + // Export the LOD + mLODExporter->exportLODs(mVisualSceneExporter); + + bool physicsSceneExported = false; + if (ExportOptions::exportPhysics()) { + // Export PhysX + physicsSceneExported = mPhysXExporter->exportPhysicsLibraries(); + } + + + saveParamClip(); + + // Export the visual scene + bool visualSceneExported = mVisualSceneExporter->exportVisualScenes(); + + // Export the animations + if (ExportOptions::exportAnimations()) + { + const AnimationClipList* animationClips = mAnimationExporter->exportAnimations(); + + // Export the animation clips + mAnimationClipExporter->exportAnimationClips(animationClips); + } + + restoreParamClip(); + + // Export the scene + exportScene(visualSceneExported, physicsSceneExported); + + // Export the light probes. + mLightProbeExporter->exportLightProbes(); + } else { @@ -199,9 +311,9 @@ } //--------------------------------------------------------------- - void DocumentExporter::exportAsset() + void DocumentExporter::exportAsset() { - COLLADASW::Asset asset ( &mStreamWriter ); + COLLADASW::Asset asset(&mStreamWriter); // Add contributor information // Set the author @@ -225,24 +337,40 @@ sourceFileUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); asset.getContributor().mSourceData = sourceFileUri.getURIString(); } - - asset.getContributor().mAuthoringTool = AUTHORING_TOOL_NAME + MGlobal::mayaVersion().asChar(); - + + std::size_t foundLast = COLLADABU::CURRENT_REVISION.find_last_of("."); + std::size_t foundFirst = COLLADABU::CURRENT_REVISION.find_first_of("."); + + String versionMajor = COLLADABU::CURRENT_REVISION.substr(0, foundFirst); + String versionMinor = COLLADABU::CURRENT_REVISION.substr(foundFirst + 1, foundLast - foundFirst -1 ); + + asset.getContributor().mAuthoringTool = AUTHORING_TOOL_NAME + MGlobal::mayaVersion().asChar() + + (COLLADABU::CURRENT_REVISION.empty() ? "" : String("; ") + String("Version: ") + versionMajor + "." + versionMinor) + + (COLLADABU::CURRENT_REVISION.empty() ? "" : String("; ") + String("Revision: ") + COLLADABU::CURRENT_REVISION.substr(foundLast + 1)); + // comments - MString optstr = MString ( "\n\t\t\tColladaMaya export options: " ) - + "\n\t\t\tbakeTransforms=" + ExportOptions::bakeTransforms() - + ";relativePaths=" + ExportOptions::relativePaths() - + ";copyTextures=" + ExportOptions::copyTextures() - + ";exportTriangles=" + ExportOptions::exportTriangles() - + ";exportCgfxFileReferences=" + ExportOptions::exportCgfxFileReferences() - + ";\n\t\t\tisSampling=" + ExportOptions::isSampling() - + ";curveConstrainSampling=" + ExportOptions::curveConstrainSampling() - + ";removeStaticCurves=" + ExportOptions::removeStaticCurves() + MString optstr = MString("\n\t\t\tColladaMaya export options: ") + + "\n\t\t\tbakeTransforms=" + ExportOptions::bakeTransforms() + + ";relativePaths=" + ExportOptions::relativePaths() + + ";preserveSourceTree=" + ExportOptions::preserveSourceTree() + + ";copyTextures=" + ExportOptions::copyTextures() + + ";exportTriangles=" + ExportOptions::exportTriangles() + + ";exportCgfxFileReferences=" + ExportOptions::exportCgfxFileReferences() + + ";\n\t\t\tisSampling=" + ExportOptions::isSampling() + + ";curveConstrainSampling=" + ExportOptions::curveConstrainSampling() + + ";removeStaticCurves=" + ExportOptions::removeStaticCurves() + + ";exportPhysics=" + ExportOptions::exportPhysics() + + ";exportConvexMeshGeometries=" + ExportOptions::exportConvexMeshGeometries() + ";exportPolygonMeshes=" + ExportOptions::exportPolygonMeshes() + ";exportLights=" + ExportOptions::exportLights() + ";\n\t\t\texportCameras=" + ExportOptions::exportCameras() - + ";exportJointsAndSkin=" + ExportOptions::exportJointsAndSkin() + + ";exportAnimationsOnly=" + ExportOptions::exportAnimationsOnly() + + ";exportSeparateFile=" + ExportOptions::exportSeparateFile() + + ";modelNameDAE=" + ExportOptions::getDAEmodelName() + + ";exportJoints=" + ExportOptions::exportJoints() + + ";exportSkin=" + ExportOptions::exportSkin() + ";exportAnimations=" + ExportOptions::exportAnimations() + + ";exportOptimizedBezierAnimation=" + ExportOptions::exportOptimizedBezierAnimations() + ";exportInvisibleNodes=" + ExportOptions::exportInvisibleNodes() + ";exportDefaultCameras=" + ExportOptions::exportDefaultCameras() + ";\n\t\t\texportTexCoords=" + ExportOptions::exportTexCoords() @@ -291,9 +419,11 @@ } //--------------------------------------------------------------- - void DocumentExporter::exportScene() + void DocumentExporter::exportScene(bool exportScene, bool exportPhysics) { - COLLADASW::Scene scene ( &mStreamWriter, COLLADASW::URI ( EMPTY_STRING, VISUAL_SCENE_NODE_ID ) ); + COLLADASW::Scene scene(&mStreamWriter, COLLADASW::URI(EMPTY_STRING, VISUAL_SCENE_NODE_ID), COLLADASW::URI(EMPTY_STRING, PHYSICS_SCENE_NODE_ID)); + scene.exportScene = exportScene; + scene.exportPhysics = exportPhysics; scene.add(); } @@ -306,7 +436,7 @@ } //--------------------------- - String DocumentExporter::mayaNameToColladaName ( const MString& str, bool removeNamespace ) + String DocumentExporter::mayaNameToColladaName(const MString& str, bool removeNamespace, bool removeFirstNamespace) { // Replace characters that are supported in Maya, // but not supported in collada names @@ -320,6 +450,17 @@ int prefixIndex = str.rindex ( ':' ); mayaName = ( prefixIndex < 0 ) ? str : str.substring ( prefixIndex + 1, str.length() ); } + else if (removeFirstNamespace) + { + // Keep potential '|' character at the beginning + bool startsWithVerticalLine = str.index('|') == 0; + int colonIndex = str.index(':'); + mayaName = (colonIndex < 0) ? str : str.substring(colonIndex + 1, str.length()); + if (colonIndex >= 0 && startsWithVerticalLine) + { + mayaName = MString("|") + mayaName; + } + } else mayaName = str; const char* c = mayaName.asChar(); @@ -342,21 +483,26 @@ buffer[length] = '\0'; MString mayaReturnString ( buffer ); - delete buffer; + delete [] buffer; return COLLADABU::Utils::checkNCName( mayaReturnString.asChar() ); } //--------------------------- - String DocumentExporter::dagPathToColladaId ( const MDagPath& dagPath ) + String DocumentExporter::dagPathToColladaId(const MDagPath& dagPath, bool removeFirstNamespace) { // Make an unique COLLADA Id from a dagPath. // We are free to use anything we want for Ids. For now use - // a honking unique name for readability - but in future we - // could just use an incrementing integer - return mayaNameToColladaName ( dagPath.partialPathName(), false ); + // full path name to ensure id uniqueness. DagPath partial name can not be used + // because it can lead to issues when referencing nodes sharing the same name. + return mayaNameToColladaName(dagPath.fullPathName(), false, removeFirstNamespace); } + String DocumentExporter::dagPathToColladaSid(const MDagPath & dagPath) + { + return mayaNameToColladaName(dagPath.partialPathName()); + } + //--------------------------- String DocumentExporter::dagPathToColladaName ( const MDagPath& dagPath ) { @@ -429,6 +575,24 @@ } //--------------------------- + PhysicsExporter* DocumentExporter::getPhysicsExporter() + { + return mPhysicsExporter; + } + + //--------------------------- + PhysXExporter* DocumentExporter::getPhysXExporter() + { + return mPhysXExporter; + } + + //--------------------------- + PhysicsSceneExporter* DocumentExporter::getPhysicsSceneExporter() + { + return mPhysicsSceneExporter; + } + + //--------------------------- AnimationExporter* DocumentExporter::getAnimationExporter() { return mAnimationExporter; @@ -452,6 +616,17 @@ return mLightExporter; } + LODExporter* DocumentExporter::getLODExporter() + { + return mLODExporter; + } + + //--------------------------- + LightProbeExporter* DocumentExporter::getLightProbeExporter() + { + return mLightProbeExporter; + } + //--------------------------- CameraExporter* DocumentExporter::getCameraExporter() { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaEffectExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaEffectExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaEffectExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaEffectExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -23,6 +23,10 @@ #if MAYA_API_VERSION > 700 #include "COLLADAMayaHwShaderExporter.h" #endif +#if MAYA_API_VERSION >= 201500 +#include "COLLADAMayaShaderFXShaderExporter.h" +#endif +#include "COLLADAMayaAttributeParser.h" #include "COLLADASWNode.h" #include "COLLADASWEffectProfile.h" @@ -31,6 +35,7 @@ #include #include +#include #include #include #include @@ -180,7 +185,7 @@ if ( colladaEffectId.empty () ) return; // Push the effect id into the mExportedEffectMap - mExportedEffectMap [mayaMaterialId] = colladaEffectId; + mExportedEffectMap [mayaMaterialId] = colladaEffectId; // Open a tag for the current effect in the collada document openEffect ( colladaEffectId ); @@ -193,16 +198,18 @@ String shaderNodeName = shaderNode.name ().asChar (); // exportExtraData ( &effectProfile, shader ); + MString shaderNodeTypeName = shaderNode.typeName(); + // Export the shader attributes. if ( shader.hasFn ( MFn::kLambert ) ) { exportStandardShader ( colladaEffectId, &effectProfile, shader ); } - else if ( shader.hasFn ( MFn::kPluginHwShaderNode ) && shaderNode.typeName() == COLLADA_FX_SHADER ) + else if (shader.hasFn(MFn::kPluginHwShaderNode) && shaderNodeTypeName == COLLADA_FX_SHADER) { MGlobal::displayError("Export of ColladaFXShader not implemented!"); } - else if ( shader.hasFn ( MFn::kPluginHwShaderNode ) && shaderNode.typeName() == COLLADA_FX_PASSES ) + else if (shader.hasFn(MFn::kPluginHwShaderNode) && shaderNodeTypeName == COLLADA_FX_PASSES) { MGlobal::displayError("Export of ColladaFXPasses not implemented!"); } @@ -223,6 +230,12 @@ MGlobal::displayError("Export HardwareShader not implemented!"); } #endif +#if MAYA_API_VERSION >= 201500 + else if (shader.hasFn(MFn::kPluginHardwareShader) && shaderNodeTypeName == SHADERFX_SHADER.c_str()) + { + exportShaderFXShader(colladaEffectId, &effectProfile, shader); + } +#endif else { @@ -234,14 +247,130 @@ // Export the original maya name into extra data. effectProfile.addExtraTechniqueParameter ( PROFILE_MAYA, PARAMETER_MAYA_ID, mayaMaterialId ); + exportExtraAttributes(shader, effectProfile); // TODO // // Export the user defined effect extra data from import (extra preservation). // mDocumentExporter->exportExtraData ( shader, COLLADAFW::ExtraKeys::EFFECT, 0, &effectProfile ); - // Closes the current effect tag + effectProfile.addExtraTechniques(mSW); + + // Closes the current effect tag closeEffect (); } + // --------------------------------- + void EffectExporter::exportExtraAttributes(const MObject& shader, COLLADASW::EffectProfile& effectProfile) + { + class ExtraAttributeExporter : public AttributeParser + { + public: + ExtraAttributeExporter(COLLADASW::EffectProfile & effectProfile) + : mEffectProfile(effectProfile) + {} + + private: + COLLADASW::EffectProfile & mEffectProfile; + + protected: + virtual bool onBeforeAttribute(MFnDependencyNode & node, MObject & attr) override + { + MStatus status; + MFnAttribute fnAttr(attr, &status); + if (!status) return false; + + MString attrName = fnAttr.name(&status); + if (!status) return false; + + bool isDynamic = fnAttr.isDynamic(&status); + if (!status) return false; + + if (!isDynamic) + return false; + + bool isHidden = fnAttr.isHidden(&status); + if (!status) return false; + + if (isHidden) + return false; + + return true; + } + + virtual void onBoolean(MPlug & plug, const MString & name, bool value) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger(MPlug & plug, const MString & name, int value) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger2(MPlug & plug, const MString & name, int value[2]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger3(MPlug & plug, const MString & name, int value[3]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat(MPlug & plug, const MString & name, float value) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat2(MPlug & plug, const MString & name, float value[2]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat3(MPlug & plug, const MString & name, float value[3]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble(MPlug & plug, const MString & name, double value) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble2(MPlug & plug, const MString & name, double value[2]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble3(MPlug & plug, const MString & name, double value[3]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble4(MPlug & plug, const MString & name, double value[4]) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], value[3], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onString(MPlug & plug, const MString & name, const MString & value) override + { + mEffectProfile.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), COLLADABU::StringUtils::translateToXML(String(value.asChar())), "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onEnum(MPlug & plug, const MString & name, int enumValue, const MString & enumName) override + { + // TODO export all possible enum values to be able to re-import them? + mEffectProfile.addExtraTechniqueEnumParameter(PROFILE_MAYA, name.asChar(), COLLADABU::StringUtils::translateToXML(String(enumName.asChar())), "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + }; + + MStatus status; + MFnDependencyNode fnNode(shader, &status); + if (!status) return; + + ExtraAttributeExporter extraAttributeExporter(effectProfile); + AttributeParser::parseAttributes(fnNode, extraAttributeExporter); + } + // --------------------------------- void EffectExporter::exportHwShaderNode ( const String &effectId, @@ -254,6 +383,18 @@ #endif } + //------------------------------------------------------------------------- +#if MAYA_API_VERSION >= 201500 + void EffectExporter::exportShaderFXShader( + const String & effectId, + COLLADASW::EffectProfile* effectProfile, + MObject & shader) + { + ShaderFXShaderExporter shaderFXShaderExporter(*mDocumentExporter, *effectProfile, effectId); + shaderFXShaderExporter.exportShaderFXShader(shader); + } +#endif + //------------------------------------------------------ void EffectExporter::exportConstantShader ( const String &effectId, @@ -541,6 +682,31 @@ return ( fileTextures.length() > 0 ) ? fileTextures[0] : MObject::kNullObj; } + void EffectExporter::exportTexturedParameter( + const String& effectId, + COLLADASW::EffectProfile* effectProfile, + int& nextTextureIndex, + const URI & fileURI) + { + String channelSemantic = TEXCOORD_BASE + COLLADASW::Utils::toString(nextTextureIndex); + + // Create the texture element. + COLLADASW::Texture colladaTexture; + + // Export the data of the texture. + mTextureExporter.exportTexture(&colladaTexture, + channelSemantic, + fileURI); + + ++nextTextureIndex; + + mSW->openElement(COLLADASW::CSWC::CSW_ELEMENT_TEXTURE); + mSW->appendAttribute(COLLADASW::CSWC::CSW_ATTRIBUTE_TEXTURE, colladaTexture.getSamplerSid()); + mSW->appendAttribute(COLLADASW::CSWC::CSW_ATTRIBUTE_TEXCOORD, colladaTexture.getTexcoord()); + colladaTexture.addExtraTechniques(mSW); + mSW->closeElement(); + } + //--------------------------------------------------------------- void EffectExporter::getShaderTextures ( const MObject& shader, @@ -677,12 +843,12 @@ // ------------------------------------ const String EffectExporter::findColladaImageId ( const String& mayaImageId ) { - const StringToStringMap::const_iterator it = mMayaIdColladaImageIdMap.find ( mayaImageId ); - if ( it != mMayaIdColladaImageIdMap.end () ) - { - return it->second; - } - return EMPTY_STRING; + const StringToStringMap::const_iterator it = mTextureExporter.getMayaIdColladaImageId().find(mayaImageId); + if (it != mTextureExporter.getMayaIdColladaImageId().end()) + { + return it->second; + } + return EMPTY_STRING; } // ------------------------------------ diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaEffectTextureExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaEffectTextureExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaEffectTextureExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaEffectTextureExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -14,6 +14,7 @@ */ #include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaEffectExporter.h" #include "COLLADAMayaEffectTextureExporter.h" #include "COLLADAMayaShaderHelper.h" #include "COLLADAMayaConversion.h" @@ -26,6 +27,7 @@ #include "COLLADASWStreamWriter.h" #include "COLLADASWLibraryImages.h" +#include namespace COLLADAMaya { @@ -129,6 +131,76 @@ sampler.setMipFilter ( COLLADASW::Sampler::SAMPLER_FILTER_NONE ); } + void EffectTextureExporter::exportTexture(COLLADASW::Texture* colladaTexture, const String & channelSemantic, const URI & fileURI) + { + String mayaImageId = DocumentExporter::mayaNameToColladaName(fileURI.getPathFileBase().c_str()); + + COLLADAMaya::EffectExporter& effectExporter = *mDocumentExporter->getEffectExporter(); + COLLADAMaya::EffectTextureExporter& textureExporter = *effectExporter.getTextureExporter(); + + String colladaImageId = effectExporter.findColladaImageId(mayaImageId); + if (colladaImageId.empty()) + { + // Generate a COLLADA id for the new image object + colladaImageId = DocumentExporter::mayaNameToColladaName(fileURI.getPathFileBase().c_str()); + + // Make the id unique and store it in a map for refernences. + colladaImageId = textureExporter.getImageIdList().addId(colladaImageId); + textureExporter.getMayaIdColladaImageId()[mayaImageId] = colladaImageId; + } + + // Set the image name + //String colladaImageId = exportImage(mayaImageId, colladaImageId, fileURI); + COLLADASW::Image* image = exportImage(mayaImageId, colladaImageId, fileURI); + colladaTexture->setImageId(colladaImageId); + colladaTexture->setTexcoord(channelSemantic); + + // Get the current stream writer + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + // Create the sampler + String samplerSid = colladaImageId + COLLADASW::Sampler::SAMPLER_SID_SUFFIX; + String surfaceSid = colladaImageId + COLLADASW::Sampler::SURFACE_SID_SUFFIX; + + COLLADASW::Sampler sampler(COLLADASW::Sampler::SAMPLER_TYPE_2D, samplerSid, surfaceSid); + sampler.setFormat(FORMAT); + sampler.setImageId(colladaImageId); + + colladaTexture->setSampler(sampler); + + // Add blend mode information + colladaTexture->addExtraTechniqueParameter(PROFILE_MAYA, MAYA_TEXTURE_BLENDMODE_PARAMETER, String(MAYA_BLENDMODE_NONE)); + + // Wrap elements + switch (colladaTexture->getSampler().getSamplerType()) + { + + case COLLADASW::Sampler::SAMPLER_TYPE_1D: + sampler.setWrapS(COLLADASW::Sampler::WRAP_MODE_WRAP); + break; + + case COLLADASW::Sampler::SAMPLER_TYPE_2D: + { + sampler.setWrapS(COLLADASW::Sampler::WRAP_MODE_WRAP); + sampler.setWrapT(COLLADASW::Sampler::WRAP_MODE_WRAP); + } + break; + + case COLLADASW::Sampler::SAMPLER_TYPE_3D: + case COLLADASW::Sampler::SAMPLER_TYPE_CUBE: + { + sampler.setWrapS(COLLADASW::Sampler::WRAP_MODE_WRAP); + sampler.setWrapT(COLLADASW::Sampler::WRAP_MODE_WRAP); + sampler.setWrapP(COLLADASW::Sampler::WRAP_MODE_WRAP); + } + break; + } + + sampler.setMinFilter(COLLADASW::Sampler::SAMPLER_FILTER_NONE); + sampler.setMagFilter(COLLADASW::Sampler::SAMPLER_FILTER_NONE); + sampler.setMipFilter(COLLADASW::Sampler::SAMPLER_FILTER_NONE); + } + //--------------------------------------------------------------- String EffectTextureExporter::getBlendMode ( int blendMode ) { @@ -255,7 +327,9 @@ else { // Copy the texture, if it isn't already there... - exists = COLLADABU::Utils::directoryExists( targetUri.toNativePath() ); + // exists = COLLADABU::Utils::directoryExists( targetUri.toNativePath() ); + // Remi - always copy the texture, it may not be the same file + exists = false; if ( !exists ) { try @@ -264,7 +338,7 @@ // Note: some systems (window$) requires the string to be // enclosed in quotes when a space is present. COLLADASW::URI targetPathUri ( targetUri.getPathDir() ); - exists = COLLADABU::Utils::createDirectoryIfNeeded( targetPathUri.toNativePath() ); + exists = COLLADABU::Utils::createDirectoryRecursive( targetPathUri.toNativePath() ); if( exists ) { @@ -306,18 +380,61 @@ // ------------------------------------------------------------ COLLADASW::URI EffectTextureExporter::createTargetURI ( const COLLADASW::URI& sourceUri ) { - // Target file - String targetFile = mDocumentExporter->getFilename(); - COLLADASW::URI targetUri ( COLLADASW::URI::nativePathToUri ( targetFile ) ); - const String& targetScheme = targetUri.getScheme (); - - // Get the pure file name of the source file and set - // the source file name to the target path - targetUri.setPathFile ( sourceUri.getPathFile () ); - if ( !targetScheme.empty () ) - targetUri.setScheme ( targetScheme ); - else - targetUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); + COLLADASW::URI targetUri; + + if (ExportOptions::preserveSourceTree()) + { + // Get the URI of the Maya source file. + MString mayaSourceFile = MFileIO::currentFile(); + COLLADASW::URI mayaSourceFileUri(COLLADASW::URI::nativePathToUri(mayaSourceFile.asChar())); + if (mayaSourceFileUri.getScheme().empty()) + mayaSourceFileUri.setScheme(COLLADASW::URI::SCHEME_FILE); + + // Get the URI of the texture source file. + bool success = true; + COLLADASW::URI targetTextureRelativeUri = sourceUri.getRelativeTo(mayaSourceFileUri, success); + if (!success) + { + String message = "Not able to generate a relative path from " + + mayaSourceFileUri.getURIString() + " to " + sourceUri.getURIString() + + ". An absolute path will be written! "; + MGlobal::displayError ( message.c_str() ); + targetUri = sourceUri; + } + else + { + // Get the URI of the COLLADA file. + String targetColladaFile = mDocumentExporter->getFilename(); + COLLADASW::URI targetColladaUri ( COLLADASW::URI::nativePathToUri ( targetColladaFile ) ); + if ( targetColladaUri.getScheme ().empty () ) + targetColladaUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); + + COLLADASW::URI targetColladaDirUri(targetColladaUri.getPathDir()); + targetColladaDirUri.setScheme(targetColladaUri.getScheme()); + + String pathDir = targetColladaDirUri.getPathDir() + targetTextureRelativeUri.getPathDir(); + COLLADASW::URI::normalizeURIPath(const_cast(pathDir.c_str())); + + targetUri = targetColladaDirUri; + targetUri.setPathDir(pathDir); + targetUri.setPathFile(sourceUri.getPathFile()); + } + } + else + { + // Target file + String targetFile = mDocumentExporter->getFilename(); + targetUri = COLLADASW::URI::nativePathToUri ( targetFile ); + const String& targetScheme = targetUri.getScheme (); + + // Get the pure file name of the source file and set + // the source file name to the target path + targetUri.setPathFile ( sourceUri.getPathFile () ); + if ( !targetScheme.empty () ) + targetUri.setScheme ( targetScheme ); + else + targetUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); + } // Generate the target file name return targetUri; @@ -498,15 +615,34 @@ const COLLADASW::URI &sourceUri, COLLADASW::URI &fullFileNameURI ) { - bool returnValue = true; + bool success = true; // Check if the file exist! String sourceUriString = sourceUri.toNativePath(); if ( ExportOptions::relativePaths() ) { + if (ExportOptions::preserveSourceTree()) + { + // Get the URI of the Maya source file. + MString mayaSourceFile = MFileIO::currentFile(); + COLLADASW::URI mayaSourceFileUri(COLLADASW::URI::nativePathToUri(mayaSourceFile.asChar())); + if (mayaSourceFileUri.getScheme().empty()) + mayaSourceFileUri.setScheme(COLLADASW::URI::SCHEME_FILE); + + // Get the URI of the texture source file. + fullFileNameURI = sourceUri.getRelativeTo(mayaSourceFileUri, success); + if (!success) + { + String message = "Not able to generate a relative path from " + + mayaSourceFileUri.getURIString() + " to " + sourceUri.getURIString() + + ". An absolute path will be written! "; + MGlobal::displayError ( message.c_str() ); + fullFileNameURI = sourceUri; + } + } // Different filename and URI, if we copy the textures to the destination directory! - if ( ExportOptions::copyTextures() ) + else if ( ExportOptions::copyTextures() ) { // Get the URI of the COLLADA file. String targetColladaFile = mDocumentExporter->getFilename(); @@ -518,20 +654,15 @@ COLLADASW::URI textureUri = createTargetURI ( sourceUri ); // Get the texture URI relative to the COLLADA file URI. - bool success = false; - COLLADASW::URI targetUri = textureUri.getRelativeTo ( targetColladaUri, success ); + fullFileNameURI = textureUri.getRelativeTo ( targetColladaUri, success ); if ( !success ) { String message = "Not able to generate a relative path from " - + textureUri.getURIString() + " to " + targetColladaUri.getURIString() + + targetColladaUri.getURIString() + " to " + textureUri.getURIString() + ". An absolute path will be written! "; MGlobal::displayError ( message.c_str() ); - targetUri = textureUri; - returnValue = false; + fullFileNameURI = textureUri; } - - // Get the file URI - fullFileNameURI = targetUri; } else { @@ -542,32 +673,23 @@ targetColladaUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); // Get the texture URI relative to the COLLADA file URI. - bool success = false; - COLLADASW::URI targetUri = sourceUri.getRelativeTo ( targetColladaUri, success ); + fullFileNameURI = sourceUri.getRelativeTo ( targetColladaUri, success ); if ( !success ) { String message = "Not able to generate a relative path from " - + sourceUri.getURIString() + " to " + targetColladaUri.getURIString() + + targetColladaUri.getURIString() + " to " + sourceUri.getURIString() + ". An absolute path will be written! "; MGlobal::displayError ( message.c_str() ); - targetUri = sourceUri; - returnValue = false; + fullFileNameURI = sourceUri; } - - // Get the file URI - fullFileNameURI = targetUri; } } else { // Different filename and URI, if we copy the textures to the destination directory! - if ( ExportOptions::copyTextures() ) + if ( ExportOptions::copyTextures() || ExportOptions::preserveSourceTree() ) { - // Get the texture URI relative to the COLLADA file URI. - COLLADASW::URI targetUri = createTargetURI ( sourceUri ); - - // Get the file URI - fullFileNameURI = targetUri; + fullFileNameURI = createTargetURI ( sourceUri ); } else { @@ -576,6 +698,6 @@ } } - return returnValue; + return success; } } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaExportOptions.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaExportOptions.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaExportOptions.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaExportOptions.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -23,17 +23,26 @@ // Static Members + MString ExportOptions::mDAEmodelName = ""; + bool ExportOptions::mLOD = true; bool ExportOptions::mBakeTransforms = true; bool ExportOptions::mRelativePaths = true; + bool ExportOptions::mPreserveSourceTree = false; bool ExportOptions::mCopyTextures = false; bool ExportOptions::mExportPolygonMeshes = true; + bool ExportOptions::mExportPhysics = true; + bool ExportOptions::mExportConvexMeshGeometries = true; bool ExportOptions::mExportLights = true; bool ExportOptions::mExportCgfxFileReferences = true; bool ExportOptions::mExportCameras = true; - bool ExportOptions::mExportJointsAndSkin = true; + bool ExportOptions::mExportJoints = true; + bool ExportOptions::mExportSkin = true; + bool ExportOptions::mExportAnimationsOnly = true; + bool ExportOptions::mExportSeparateFile = false; bool ExportOptions::mExportMaterialsOnly = false; bool ExportOptions::mExportReferencedMaterials = true; bool ExportOptions::mExportAnimations = true; + bool ExportOptions::mExportOptimizedBezierAnimations = false; bool ExportOptions::mRemoveStaticCurves = true; bool ExportOptions::mExportInvisibleNodes = false; bool ExportOptions::mExportDefaultCameras = false; @@ -57,9 +66,13 @@ // Parse the options String void ExportOptions::set ( const MString& optionsString ) { - // Reset everything to the default value + mLOD = true; + mDAEmodelName = ""; + + // Reset everything to the default value mBakeTransforms = false; mRelativePaths = true; + mPreserveSourceTree = false; /** True, if the texture files should be copied to the destination folder. */ mCopyTextures = false; @@ -71,12 +84,18 @@ mExportTriangles = false; mExportPolygonMeshes = true; + mExportPhysics = true; + mExportConvexMeshGeometries = true; mExportLights = true; mExportCameras = true; mExportMaterialsOnly = false; mExportReferencedMaterials = true; - mExportJointsAndSkin = true; + mExportJoints = true; + mExportSkin = true; mExportAnimations = true; + mExportAnimationsOnly = false; + mExportSeparateFile = false; + mExportOptimizedBezierAnimations = false; mExportInvisibleNodes = false; mExportDefaultCameras = false; mExportNormals = true; @@ -99,7 +118,7 @@ MStringArray optionList; optionsString.split ( ';', optionList ); uint optionCount = optionList.length(); - + for ( uint i = 0; i < optionCount; ++i ) { MString& currentOption = optionList[i]; @@ -117,20 +136,25 @@ decomposedOption[1] != "true" && decomposedOption[1] != "1" ) value = false; - + // Process options. if ( optionName == "bakeTransforms" ) mBakeTransforms = value; else if ( optionName == "relativePaths" ) mRelativePaths = value; + else if ( optionName == "preserveSourceTree" ) mPreserveSourceTree = value; else if ( optionName == "exportTriangles" ) mExportTriangles = value; else if ( optionName == "cgfxFileReferences" ) mExportCgfxFileReferences = value; else if ( optionName == "copyTextures" ) mCopyTextures = value; else if ( optionName == "exportPolygonMeshes" ) mExportPolygonMeshes = value; + else if (optionName == "exportPhysics") mExportPhysics = value; + else if (optionName == "exportConvexMeshGeometries") mExportConvexMeshGeometries = value; else if ( optionName == "exportLights" ) mExportLights = value; else if ( optionName == "exportCameras" ) mExportCameras = value; - else if ( optionName == "exportJointsAndSkin" ) mExportJointsAndSkin = value; + else if ( optionName == "exportJoints" ) mExportJoints = value; + else if (optionName == "exportSkin") mExportSkin = value; else if ( optionName == "exportMaterialsOnly" ) mExportMaterialsOnly = value; else if ( optionName == "exportReferencedMaterials" ) mExportReferencedMaterials = value; else if ( optionName == "exportAnimations" ) mExportAnimations = value; + else if ( optionName == "exportOptimizedBezierAnimation") mExportOptimizedBezierAnimations = value; else if ( optionName == "exportInvisibleNodes" ) mExportInvisibleNodes = value; else if ( optionName == "exportDefaultCameras" ) mExportDefaultCameras = value; else if ( optionName == "exportNormals" ) mExportNormals = value; @@ -149,7 +173,18 @@ else if ( optionName == "removeStaticCurves" ) mRemoveStaticCurves = value; else if ( optionName == "exportXRefs" ) mExportXRefs = value; else if ( optionName == "dereferenceXRefs" ) mDereferenceXRefs = value; + + else if (optionName == "modelNameDAE") mDAEmodelName = decomposedOption[1]; + else if (optionName == "exportAnimationsOnly") mExportAnimationsOnly = value; + else if (optionName == "exportSeparateFile") mExportSeparateFile = value; } + + if (mExportSkin) + mExportJoints = true; + + if (mExportAnimations) + mExportJoints = true; + } if ( !mIsSampling ) @@ -158,11 +193,36 @@ } } + MString ExportOptions::getDAEmodelName() + { + return mDAEmodelName; + } + + bool ExportOptions::exportLOD() + { + return mLOD; + } + bool ExportOptions::bakeTransforms() { return mBakeTransforms; } + bool ExportOptions::exportPhysics() + { + return mExportPhysics; + } + + void ExportOptions::setExportPhysics(bool value) + { + mExportPhysics = value; + } + + bool ExportOptions::exportConvexMeshGeometries() + { + return mExportConvexMeshGeometries; + } + bool ExportOptions::exportPolygonMeshes() { return mExportPolygonMeshes; @@ -193,6 +253,11 @@ return mRelativePaths; } + bool ExportOptions::preserveSourceTree() + { + return mPreserveSourceTree; + } + bool ExportOptions::exportLights() { return mExportLights; @@ -203,11 +268,26 @@ return mExportCameras; } - bool ExportOptions::exportJointsAndSkin() + bool ExportOptions::exportJoints() { - return mExportJointsAndSkin; + return mExportJoints; } + bool ExportOptions::exportSkin() + { + return mExportSkin; + } + + bool ExportOptions::exportAnimationsOnly() + { + return mExportAnimationsOnly; + } + + bool ExportOptions::exportSeparateFile() + { + return mExportSeparateFile; + } + bool ExportOptions::exportMaterialsOnly () { return mExportMaterialsOnly; @@ -223,6 +303,11 @@ return mExportAnimations; } + bool ExportOptions::exportOptimizedBezierAnimations() + { + return mExportOptimizedBezierAnimations; + } + bool ExportOptions::exportTriangles() { return mExportTriangles; diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaFileTranslator.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaFileTranslator.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaFileTranslator.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaFileTranslator.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -17,7 +17,6 @@ #include "COLLADAMayaPrerequisites.h" #include "COLLADAMayaPlatform.h" #include "COLLADAMayaSyntax.h" -#include "COLLADAMayaVersionInfo.h" #include "COLLADAMayaFileTranslator.h" #include "COLLADAMayaDocumentExporter.h" #include "COLLADAMayaExportOptions.h" @@ -30,6 +29,8 @@ #include "COLLADASWException.h" +#include "COLLADABUVersionInfo.h" + #include #include @@ -82,11 +83,9 @@ std::ostringstream stream; stream << MAYA_API_VERSION; - COLLADAMaya::String revision ( COLLADAMaya::TRANSLATOR_VERSION ); - revision += "." + COLLADAMaya::CURRENT_REVISION; MFnPlugin plugin ( obj, COLLADAMaya::TRANSLATOR_VENDOR, - revision.c_str (), + COLLADABU::CURRENT_REVISION.c_str(), stream.str ().c_str () ); // -------------------------------------------------------------- @@ -187,9 +186,6 @@ namespace COLLADAMaya { - const String FileTranslator::ASCII_PATH_EXTENSION = ".ma"; - const String FileTranslator::ASCII_PATH_EXTENSION_DEBUG = ".opencollada.ma"; - /************************************************************************/ /* Constructor and Destructor of the DaeFileTranslator class */ @@ -236,6 +232,10 @@ try { + // Save current selection + MSelectionList selection; + MGlobal::getActiveSelectionList(selection); + // Extract the filename #if defined (OSMac_) char nameBuffer[MAXPATHLEN]; @@ -275,6 +275,9 @@ // Do the actual export now status = exportIntoFile ( fileName, exportSelection ); + + // Restore selection + MGlobal::setActiveSelectionList(selection); } catch ( COLLADASW::StreamWriterException* swException ) { @@ -384,20 +387,10 @@ clock_t startClock, endClock; startClock = clock(); - // TODO Ask the user where to save the maya file. -// MString command = "fileBrowserDialog -m 0 -fc \"importFromFile\" -ft \"mayaAscii\" -fl \"*.ma\" -an \"Save_import_as\" -om \"SaveAs\""; -// MString mayaAsciiFileNameM = MGlobal::executeCommandStringResult ( command ); -// String mayaAsciiFileName ( mayaAsciiFileNameM.asChar () ); -// MGlobal::displayInfo ( mayaAsciiFileName.c_str() ); - // Set the imported file name and path. -// COLLADABU::URI mayaAsciiFileURI ( mayaAsciiFileName ); - COLLADABU::URI mayaAsciiFileURI ( importFileName ); -#ifdef NDEBUG - mayaAsciiFileURI.setPathExtension ( ASCII_PATH_EXTENSION ); -#else - mayaAsciiFileURI.setPathExtension ( ASCII_PATH_EXTENSION_DEBUG ); -#endif + COLLADABU::URI mayaAsciiFileURI ( importFileName ); + mayaAsciiFileURI.setPathExtension ( ".opencollada.ma" ); + String mayaAsciiFileName = mayaAsciiFileURI.getURIString (); const char* cpMayaAsciiFileName = mayaAsciiFileName.c_str(); @@ -480,4 +473,4 @@ } -}// namespace COLLADA \ No newline at end of file +}// namespace COLLADA diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaGeometryExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaGeometryExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaGeometryExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaGeometryExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -14,7 +14,9 @@ */ #include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaAttributeParser.h" #include "COLLADAMayaGeometryExporter.h" +#include "COLLADAMayaPhysXExporter.h" #include "COLLADAMayaGeometryPolygonExporter.h" #include "COLLADAMayaExportOptions.h" #include "COLLADAMayaSyntax.h" @@ -24,9 +26,12 @@ #include "COLLADAMayaAnimationExporter.h" #include "COLLADAMayaControllerExporter.h" +#include "COLLADAMayaPhysicsExporter.h" + #include #include +#include #include #include #include @@ -61,7 +66,10 @@ // -------------------------------------------------------- void GeometryExporter::exportGeometries() { - if ( !ExportOptions::exportPolygonMeshes() ) return; + if (!ExportOptions::exportPolygonMeshes() && + // PhysX may reference geometry + !ExportOptions::exportPhysics()) + return; // Get the list with the transform nodes. SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); @@ -86,7 +94,9 @@ bool exportSceneElement = false; SceneElement::Type sceneElementType = sceneElement->getType(); - if ( sceneElementType == SceneElement::MESH ) + + if (ExportOptions::exportPolygonMeshes() && + sceneElementType == SceneElement::MESH ) { if ( sceneElement->getIsExportNode () ) exportSceneElement = true; else @@ -95,6 +105,25 @@ else if ( !isVisible && ExportOptions::exportInvisibleNodes () ) exportSceneElement = true; } } + else if (ExportOptions::exportPhysics() && + sceneElementType == SceneElement::PHYSX_SHAPE) + { + const MObject & shape = sceneElement->getNode(); + + MString shapeType; + PhysXShape::GetType(shape, shapeType); + + if (shapeType == SHAPE_TYPE_CONVEX_HULL || + shapeType == SHAPE_TYPE_TRIANGLE_MESH) + { + MObject mesh; + PhysXShape::GetConnectedInMesh(shape, mesh); + if (mesh.isNull() || !ExportOptions::exportPolygonMeshes()) + { + exportSceneElement = true; + } + } + } if ( exportSceneElement ) { @@ -154,7 +183,7 @@ MObject node = sceneElement->getPath ().node(); // Add the controller and/or geometry to our libraries - bool hasSkinController = ExportOptions::exportJointsAndSkin() && controller->hasSkinController ( node ); + bool hasSkinController = ExportOptions::exportJoints() && controller->hasSkinController(node); bool hasMorphController = controller->hasMorphController ( node ); if ( hasSkinController || hasMorphController ) { @@ -175,8 +204,6 @@ // -------------------------------------------------------- bool GeometryExporter::exportGeometry ( SceneElement* sceneElement ) { - if ( !ExportOptions::exportPolygonMeshes() ) return false; - // Get the current dag path MDagPath dagPath = sceneElement->getPath(); String pathName = dagPath.fullPathName ().asChar (); @@ -192,17 +219,97 @@ uint instanceNumber = dagPath.instanceNumber(); // Get the node of the current mesh - MObject meshNode = dagPath.node(); - - // Attach a function set to the mesh node. - // We access all of the meshes data through the function set - MStatus status; - MFnMesh fnMesh ( meshNode, &status ); - if ( status != MStatus::kSuccess ) return false; + MObject meshNode; + if (sceneElement->getType() == SceneElement::PHYSX_SHAPE) { + PhysXShape::GetConnectedInMesh(sceneElement->getNode(), meshNode); + if (meshNode.isNull()) + { + PhysXShape::GetInMesh(sceneElement->getNode(), meshNode); + } + } + else { + meshNode = dagPath.node(); + } // Write the mesh data String meshName = mDocumentExporter->dagPathToColladaName ( dagPath ); - return exportMesh ( fnMesh, colladaMeshId, meshName ); + bool result = exportMesh(meshNode, colladaMeshId, meshName); + + if (ExportOptions::exportPhysics()) + { + // Bullet --------------------------------------------------------- + MObject transform = dagPath.transform(); + int shapeType; + bool shapeResult = DagHelper::getPlugValue(transform, ATTR_COLLISION_SHAPE, shapeType); + + if (shapeResult) + { + if (shapeType == COLLADAMaya::PhysicsExporter::Convex_mesh) + { + openConvexMesh(colladaMeshId, meshName); + closeConvexMesh(); + } + } + + // PhysX ---------------------------------------------------------- + PhysXExporter& physXExporter = *mDocumentExporter->getPhysXExporter(); + MObject shape; + if (physXExporter.needsConvexHullOf(*sceneElement, shape)) + { + openConvexMesh(colladaMeshId, colladaMeshId); + if (ExportOptions::exportConvexMeshGeometries()) + { + std::vector vertices; + MString mayaMeshId; + if (physXExporter.getShapeVertices(shape, vertices, mayaMeshId)) + { + String meshId = mayaMeshId.asChar(); + + // ----------------------------------------------- + COLLADASW::FloatSource vertexSource(mSW); + vertexSource.setId(meshId + POSITIONS_SOURCE_ID_SUFFIX); + vertexSource.setNodeName(meshId + POSITIONS_SOURCE_ID_SUFFIX); + vertexSource.setArrayId(meshId + POSITIONS_SOURCE_ID_SUFFIX + ARRAY_ID_SUFFIX); + vertexSource.setAccessorStride(3); + + size_t vertexCount = vertices.size(); + vertexSource.setAccessorCount(static_cast(vertexCount)); + + vertexSource.getParameterNameList().push_back(XYZW_PARAMETERS[0]); + vertexSource.getParameterNameList().push_back(XYZW_PARAMETERS[1]); + vertexSource.getParameterNameList().push_back(XYZW_PARAMETERS[2]); + vertexSource.prepareToAppendValues(); + + for (size_t i = 0; i < vertexCount; ++i) + { + vertexSource.appendValues( + vertices[i].x, + vertices[i].y, + vertices[i].z + ); + } + vertexSource.finish(); + + // --------------------------------------------- + COLLADASW::VerticesElement vertices(mSW); + vertices.setId(meshId + VERTICES_ID_SUFFIX); + vertices.setNodeName(meshId + VERTICES_ID_SUFFIX); + + // Get the input list + COLLADASW::InputList* inputList = &vertices.getInputList(); + + // Always push the vertex positions in the vertices element + // (we have to create a vertices element with a reference) + inputList->push_back(COLLADASW::Input(COLLADASW::InputSemantic::POSITION, COLLADASW::URI(EMPTY_STRING, meshId + POSITIONS_SOURCE_ID_SUFFIX))); + + vertices.add(); + } + } + closeConvexMesh(); + } + } + + return result; } // -------------------------------------------------------- @@ -211,6 +318,13 @@ // Get the maya mesh id. String mayaMeshId = mDocumentExporter->dagPathToColladaId ( dagPath ); + if (dagPath.isInstanced()) + { + MDagPathArray paths; + dagPath.getAllPathsTo(dagPath.node(), paths); + mayaMeshId = mDocumentExporter->dagPathToColladaId(paths[0]); + } + // Generate a COLLADA id for the new object. String colladaMeshId = findColladaGeometryId ( mayaMeshId ); @@ -223,7 +337,7 @@ // Attach a function set to the mesh node. // We access all of the meshes data through the function set MStatus status; - MFnMesh fnMesh ( meshNode, &status ); + MFnDependencyNode fnMesh(meshNode, &status); if ( status != MStatus::kSuccess ) return colladaMeshId; // Check if there is an extra attribute "colladaId" and use this as export id. @@ -249,7 +363,7 @@ // -------------------------------------------------------- bool GeometryExporter::exportMesh ( - MFnMesh& fnMesh, + MObject & mesh, const String& colladaMeshId, const String& mayaMeshName ) { @@ -259,31 +373,31 @@ // Retrieve all uv set names for this mesh. MStringArray uvSetNames; - getUVSetNames ( fnMesh, uvSetNames ); + getUVSetNames ( mesh, uvSetNames ); // Opens the mesh tag in the collada document openMesh ( colladaMeshId, mayaMeshName ); // Export the vertex positions - exportVertexPositions ( fnMesh, colladaMeshId ); + exportVertexPositions ( mesh, colladaMeshId ); // Export the vertex normals - bool hasFaceVertexNormals = exportVertexNormals ( fnMesh, colladaMeshId ); + bool hasFaceVertexNormals = exportVertexNormals ( mesh, colladaMeshId ); // Export the texture coordinates - exportTextureCoords ( fnMesh, colladaMeshId, uvSetNames ); + exportTextureCoords ( mesh, colladaMeshId, uvSetNames ); // The list for the color sets. We have to clean! MStringArray colorSetNames; // Export the color sets - exportColorSets ( fnMesh, colladaMeshId, colorSetNames ); + exportColorSets ( mesh, colladaMeshId, colorSetNames ); // Export the texture tangents and binormals. // For texturing std::map channels, export the texture tangents and bi-normals, on request if ( ExportOptions::exportTexTangents() ) { - exportTextureTangentsAndBinormals ( fnMesh, colladaMeshId ); + exportTextureTangentsAndBinormals ( mesh, colladaMeshId ); } // Export the vertexes @@ -292,12 +406,12 @@ // Create a polygon exporter and export the polygon sources. COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); GeometryPolygonExporter polygonExporter ( streamWriter, mDocumentExporter ); - polygonExporter.exportPolygonSources ( fnMesh, colladaMeshId, uvSetNames, colorSetNames, &mPolygonSources, &mVertexSources, hasFaceVertexNormals ); + polygonExporter.exportPolygonSources ( mesh, colladaMeshId, uvSetNames, colorSetNames, &mPolygonSources, &mVertexSources, hasFaceVertexNormals ); closeMesh(); // Export the original maya name and the double sided value in an extra tag. - exportExtraTechniqueParameters ( fnMesh, mayaMeshName ); + exportExtraTechniqueParameters ( mesh, mayaMeshName ); closeGeometry(); @@ -305,8 +419,10 @@ } // -------------------------------------------------------- - void GeometryExporter::getUVSetNames ( const MFnMesh& fnMesh, MStringArray& uvSetNames ) + void GeometryExporter::getUVSetNames(const MObject& mesh, MStringArray& uvSetNames) { + MFnMesh fnMesh(mesh); + std::set duplicateLookup; MPlug uvSetPlug = fnMesh.findPlug ( ATTR_UV_SET ); @@ -347,11 +463,164 @@ } // -------------------------------------------------------- + class Element + { + public: + Element(COLLADASW::StreamWriter& streamWriter, const String& mName, const String& mSID = "") + : mStreamWriter(streamWriter) + { + mStreamWriter.openElement(mName); + if (!mSID.empty()) { + mStreamWriter.appendAttribute(COLLADASW::CSWC::CSW_ATTRIBUTE_SID, mSID); + } + } + + ~Element() + { + mStreamWriter.closeElement(); + } + + private: + COLLADASW::StreamWriter& mStreamWriter; + }; + + class ExtraAttributeExporter : public AttributeParser + { + public: + ExtraAttributeExporter(COLLADASW::Technique& technique) + : mTechnique(technique) + {} + + private: + COLLADASW::Technique& mTechnique; + + // AttributeParser overrides + + virtual bool onBeforeAttribute(MFnDependencyNode & fnNode, MObject & attr) override + { + MStatus status; + MFnAttribute fnAttr(attr, &status); + if (!status) return false; + + MString attrName = fnAttr.name(&status); + if (!status) return false; + + bool isDynamic = fnAttr.isDynamic(&status); + if (!status) return false; + + if (!isDynamic) + return false; + + bool isHidden = fnAttr.isHidden(&status); + if (!status) return false; + + if (isHidden) + return false; + + return true; + } + + virtual void onBoolean(MPlug & plug, const MString & name, bool value) override + { + mTechnique.addParameter(name.asChar(), value, "", PARAM_TYPE_BOOL, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onByte(MPlug & plug, const MString & name, char value) override + { + const size_t size = 5; + char text[size]; + snprintf(text, size, "0x%X", value); + mTechnique.addParameter(name.asChar(), COLLADABU::StringUtils::translateToXML(text), "", PARAM_TYPE_BYTE, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onChar(MPlug & plug, const MString & name, char value) override + { + char text[2] = { value, '\0' }; + mTechnique.addParameter(name.asChar(), COLLADABU::StringUtils::translateToXML(text), "", PARAM_TYPE_CHAR, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onShort(MPlug & plug, const MString & name, short value) override + { + mTechnique.addParameter(name.asChar(), value, "", PARAM_TYPE_SHORT, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onShort2(MPlug & plug, const MString & name, short value[2]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], "", PARAM_TYPE_SHORT2, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onShort3(MPlug & plug, const MString & name, short value[3]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], value[2], "", PARAM_TYPE_SHORT3, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger(MPlug & plug, const MString & name, int value) override + { + mTechnique.addParameter(name.asChar(), value, "", PARAM_TYPE_LONG, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger2(MPlug & plug, const MString & name, int value[2]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], "", PARAM_TYPE_LONG2, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger3(MPlug & plug, const MString & name, int value[3]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], value[2], "", PARAM_TYPE_LONG3, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat(MPlug & plug, const MString & name, float value) override + { + mTechnique.addParameter(name.asChar(), value, "", "float", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat2(MPlug & plug, const MString & name, float value[2]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], "", PARAM_TYPE_FLOAT2, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat3(MPlug & plug, const MString & name, float value[3]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], value[2], "", PARAM_TYPE_FLOAT3, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble(MPlug & plug, const MString & name, double value) override + { + mTechnique.addParameter(name.asChar(), value, "", PARAM_TYPE_DOUBLE, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble2(MPlug & plug, const MString & name, double value[2]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], "", PARAM_TYPE_DOUBLE2, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble3(MPlug & plug, const MString & name, double value[3]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], value[2], "", PARAM_TYPE_DOUBLE3, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble4(MPlug & plug, const MString & name, double value[4]) override + { + mTechnique.addParameter(name.asChar(), value[0], value[1], value[2], value[3], "", PARAM_TYPE_DOUBLE4, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onString(MPlug & plug, const MString & name, const MString & value) override + { + mTechnique.addParameter(name.asChar(), COLLADABU::StringUtils::translateToXML(value.asChar()), "", PARAM_TYPE_STRING, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onEnum(MPlug & plug, const MString & name, int enumValue, const MString & enumName) override + { + mTechnique.addParameter(name.asChar(), COLLADABU::StringUtils::translateToXML(enumName.asChar()), "", PARAM_TYPE_ENUM, COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + }; + + // -------------------------------------------------------- void GeometryExporter::exportExtraTechniqueParameters ( - const MFnMesh& fnMesh, + const MObject& mesh, const String& mayaMeshName ) { - bool doubleSided = isDoubleSided ( fnMesh ); + bool doubleSided = isDoubleSided ( mesh ); COLLADASW::Extra extraSource ( mSW ); extraSource.openExtra(); @@ -360,14 +629,22 @@ techniqueSource.openTechnique ( PROFILE_MAYA ); techniqueSource.addParameter ( PARAMETER_MAYA_ID, mayaMeshName ); techniqueSource.addParameter ( PARAMETER_DOUBLE_SIDED, doubleSided ); + + // Also export extra attributes + MFnDependencyNode fnDependencyNode(mesh); + ExtraAttributeExporter extraAttributeExporter(techniqueSource); + AttributeParser::parseAttributes(fnDependencyNode, extraAttributeExporter); + techniqueSource.closeTechnique(); extraSource.closeExtra(); } // -------------------------------------------------------- - bool GeometryExporter::isDoubleSided ( const MFnMesh &fnMesh ) + bool GeometryExporter::isDoubleSided(const MObject& mesh) { + MFnMesh fnMesh(mesh); + MPlug doubleSidedPlug = fnMesh.findPlug ( ATTR_DOUBLE_SIDED ); bool doubleSided; doubleSidedPlug.getValue ( doubleSided ); @@ -386,8 +663,10 @@ } //--------------------------------------------------------------- - void GeometryExporter::exportVertexPositions ( const MFnMesh &fnMesh, const String &meshId ) + void GeometryExporter::exportVertexPositions(const MObject& mesh, const String &meshId) { + MFnMesh fnMesh(mesh); + COLLADASW::FloatSource vertexSource ( mSW ); vertexSource.setId ( meshId + POSITIONS_SOURCE_ID_SUFFIX ); vertexSource.setNodeName ( meshId + POSITIONS_SOURCE_ID_SUFFIX ); @@ -448,7 +727,7 @@ // TODO Parameters??? TEST! AnimationExporter* animExporter = mDocumentExporter->getAnimationExporter(); - animExporter->addPlugAnimation ( childPlug, VERTEX_SID, kSingle | kLength, XYZW_PARAMETERS, true, -1, true ); + animExporter->addPlugAnimation(childPlug, VERTEX_SID, kSingle | kLength, MEulerRotation::kXYZ, XYZW_PARAMETERS, true, -1, true); } } @@ -470,30 +749,60 @@ //--------------------------------------------------------------- bool GeometryExporter::exportVertexNormals ( - const MFnMesh& fnMesh, + MObject& mesh, const String& meshId ) { if ( !ExportOptions::exportNormals () ) return false; + MFnMesh fnMesh(mesh); + // Export the normals uint normalCount = fnMesh.numNormals (); MFloatVectorArray normals ( normalCount ); - bool perVertexNormals = exportNormals ( fnMesh, meshId, normals ); + bool perVertexNormals = exportNormals ( mesh, meshId, normals ); // Export the tangents - exportTangentsAndBinormals ( fnMesh, meshId, perVertexNormals, normals ); + exportTangentsAndBinormals ( mesh, meshId, perVertexNormals, normals ); return !perVertexNormals; } + // ------------------------------------------------------- + bool GeometryExporter::hasMissingVertexColor( + const MObject & mesh, + const MString & colorSetName + ) + { + MFnMesh fnMesh(mesh); + MItMeshPolygon iPolygon(mesh); + while (!iPolygon.isDone()) + { + unsigned int vertexCount = iPolygon.polygonVertexCount(); + for (unsigned iVertex = 0; iVertex < vertexCount; ++iVertex) + { + int colorIndex = -1; + fnMesh.getColorIndex(iPolygon.index(), iVertex, colorIndex, &colorSetName); + if (colorIndex == -1) + { + return true; + } + } + + iPolygon.next(); + } + return false; + } + // ------------------------------------------------------- void GeometryExporter::exportColorSets ( - const MFnMesh& fnMesh, + const MObject& mesh, const String& meshId, MStringArray& colorSetNames ) { if ( !ExportOptions::exportVertexColors() ) return; + MFnMesh fnMesh(mesh); + //MStringArray colorSetNames; fnMesh.getColorSetNames ( colorSetNames ); size_t numColorSets = colorSetNames.length (); @@ -508,6 +817,26 @@ // Retrieve the color set data MColorArray colorArray; fnMesh.getColors ( colorArray, &mColorSetName ); + + // Set a default color to vertices with no color. + bool missingVertexColor = hasMissingVertexColor(mesh, mColorSetName); + if (missingVertexColor) + { + const MColor defaultVertexColor(0.0f, 0.0f, 0.0f, 0.0f); + + MGlobal::displayWarning( + MString("Mesh has vertices with invalid vertex color indices (") + + MString(meshId.c_str()) + + MString("). Using default color") + + " R=" + defaultVertexColor.r + + " G=" + defaultVertexColor.g + + " B=" + defaultVertexColor.b + + " A=" + defaultVertexColor.a + ); + + colorArray.append(defaultVertexColor); + } + size_t numColorValues = colorArray.length (); if ( numColorValues == 0 ) continue; @@ -591,12 +920,14 @@ // -------------------------------------------------------------------- void GeometryExporter::exportTextureCoords ( - const MFnMesh& fnMesh, + const MObject& mesh, const String& meshId, const MStringArray& uvSetNames ) { if ( !ExportOptions::exportTexCoords() ) return; + MFnMesh fnMesh(mesh); + uint texCoordsCount = uvSetNames.length(); for ( uint iTexCoords=0; iTexCoords instead of . @@ -133,7 +134,7 @@ { // Retrieves the information, if we have a hole in any polygon under the current shape // (then we have to create a polygon element, instead of a polylist element). - bool isHoledShape = verifyPolygonsForHoles ( fnMesh ); + bool isHoledShape = verifyPolygonsForHoles ( mesh ); // Determine the export type (polylist/polygon/triangles) uint exportType = determinePrimitivesBaseExportType ( isHoledShape ); @@ -142,7 +143,7 @@ // are triangles, we will export triangles instead of polygons! if ( exportType == PolygonSource::POLYLIST ) { - if ( verifyTriangulation( fnMesh ) ) + if ( verifyTriangulation( mesh ) ) { exportType = PolygonSource::TRIANGLES; triangulated = true; @@ -152,10 +153,10 @@ // Create the polylist/polygon/triangles element and set the // materials and the vertices count list before writing the // list of the polylist/polygon/triangles vertices. - primitivesBasePoly = preparePrimitivesBase( fnMesh, numPolygons, exportType ); + primitivesBasePoly = preparePrimitivesBase( mesh, numPolygons, exportType ); // Retrieve the shader polygon vertices and write them directly into the collada file. - writeShaderPolygons( primitivesBasePoly, exportType, fnMesh ); + writeShaderPolygons( primitivesBasePoly, exportType, mesh ); } @@ -168,18 +169,19 @@ } // ---------------------------------------- - bool GeometryPolygonExporter::verifyTriangulation ( MFnMesh &fnMesh ) + bool GeometryPolygonExporter::verifyTriangulation ( const MObject &mesh ) { // Iterate through all polygons of the current mesh - MItMeshPolygon meshPolygonsIter ( fnMesh.object() ); + MItMeshPolygon meshPolygonsIter ( mesh ); for ( meshPolygonsIter.reset(); !meshPolygonsIter.isDone(); meshPolygonsIter.next() ) { // Is this polygon shaded by this shader? uint realShaderCount = ( uint ) mShaders.length(); - int polyIndex = meshPolygonsIter.index(); + uint polyIndex = meshPolygonsIter.index(); if ( mShaderPosition < realShaderCount && ( uint ) mShaderIndices[polyIndex] != mShaderPosition ) continue; if ( mShaderPosition >= realShaderCount && + polyIndex < mShaderIndices.length() && ( mShaderIndices[polyIndex] >= 0 && mShaderIndices[polyIndex] < ( int ) realShaderCount ) ) continue; @@ -195,7 +197,7 @@ void GeometryPolygonExporter::writeShaderPolygons( COLLADASW::PrimitivesBase* primitivesBasePoly, const uint exportType, - MFnMesh &fnMesh ) + const MObject & mesh ) { // Number of polygons (could also be triangles) uint numPolygons = 0; @@ -205,15 +207,16 @@ getVerticesInputAttributes( polygonSetInputs ); // Iterate through all polygons of the current mesh and create them to export - MItMeshPolygon meshPolygonsIter ( fnMesh.object() ); + MItMeshPolygon meshPolygonsIter ( mesh ); for ( meshPolygonsIter.reset(); !meshPolygonsIter.isDone(); meshPolygonsIter.next() ) { // Is this polygon shaded by this shader? uint realShaderCount = ( uint ) mShaders.length(); - int polyIndex = meshPolygonsIter.index(); + uint polyIndex = meshPolygonsIter.index(); if ( mShaderPosition < realShaderCount && ( uint ) mShaderIndices[polyIndex] != mShaderPosition ) continue; if ( mShaderPosition >= realShaderCount && + polyIndex < mShaderIndices.length() && ( mShaderIndices[polyIndex] >= 0 && mShaderIndices[polyIndex] < ( int ) realShaderCount ) ) continue; @@ -223,12 +226,12 @@ // Create the polygon with the initialization data MIntArray vertexIndices; uint numPolygons = 0, numVertices = 0; - initializePolygonSource ( fnMesh, meshPolygonsIter, polygon, vertexIndices, numPolygons, numVertices ); + initializePolygonSource ( mesh, meshPolygonsIter, polygon, vertexIndices, numPolygons, numVertices ); // If we have polygons to export, push it into the polygon list if ( numPolygons > 0 ) { - writeElementVertexIndices ( primitivesBasePoly, &polygon, fnMesh, meshPolygonsIter, exportType, vertexIndices, numPolygons, numVertices ); + writeElementVertexIndices ( primitivesBasePoly, &polygon, mesh, meshPolygonsIter, exportType, vertexIndices, numPolygons, numVertices ); } } @@ -237,7 +240,7 @@ // -------------------------------------------------------- void GeometryPolygonExporter::initializePolygonSource( - const MFnMesh &fnMesh, + const MObject& mesh, MItMeshPolygon &meshPolygonsIter, PolygonSource &polygon, MIntArray &vertexIndices, @@ -287,13 +290,15 @@ void GeometryPolygonExporter::writeElementVertexIndices( COLLADASW::PrimitivesBase* primitivesBasePoly, PolygonSource* polygon, - MFnMesh &fnMesh, + const MObject& mesh, MItMeshPolygon &meshPolygonsIter, const uint exportType, const MIntArray &vertexIndices, const uint numPolygons, const uint numVertices ) { + MFnMesh fnMesh(mesh); + // Add the open tags for the polygons if ( exportType == PolygonSource::POLYGONS ) { @@ -364,7 +369,7 @@ } // Write the vertex indices - writeVertexIndices ( primitivesBasePoly, polygon, vertexIndex, normalIndices, iteratorVertexIndex, meshPolygonsIter, fnMesh, polyIndex ); + writeVertexIndices ( primitivesBasePoly, polygon, vertexIndex, normalIndices, iteratorVertexIndex, meshPolygonsIter, mesh, polyIndex ); } } @@ -380,22 +385,23 @@ // ---------------------------------------- bool GeometryPolygonExporter::verifyPolygonsForHoles( - const MFnMesh &fnMesh ) + const MObject &mesh ) { // If we want to export triangles, holes aren't of note. if ( triangulated ) return false; // Iterate through all polygons of the current mesh and // verify their polygons for holes. - MItMeshPolygon meshPolygonsIter ( fnMesh.object() ); + MItMeshPolygon meshPolygonsIter ( mesh ); for ( meshPolygonsIter.reset(); !meshPolygonsIter.isDone(); meshPolygonsIter.next() ) { // Is this polygon shaded by this shader? - int polyIndex = meshPolygonsIter.index(); + uint polyIndex = meshPolygonsIter.index(); uint realShaderCount = ( uint ) mShaders.length(); if ( mShaderPosition < realShaderCount && ( uint ) mShaderIndices[polyIndex] != mShaderPosition ) continue; if ( mShaderPosition >= realShaderCount && + polyIndex < mShaderIndices.length() && ( mShaderIndices[polyIndex] >= 0 && mShaderIndices[polyIndex] < ( int ) realShaderCount ) ) continue; @@ -415,19 +421,20 @@ // ---------------------------------------- void GeometryPolygonExporter::writeVertexCountList( COLLADASW::PrimitivesBase* primitivesBase, - const MFnMesh &fnMesh ) + const MObject &mesh ) { // Iterate through all polygons of the current mesh. // Check their polygons for holes and retrieve the vertexCountList. - MItMeshPolygon meshPolygonsIter ( fnMesh.object() ); + MItMeshPolygon meshPolygonsIter ( mesh ); for ( meshPolygonsIter.reset(); !meshPolygonsIter.isDone(); meshPolygonsIter.next() ) { // Is this polygon shaded by this shader? - int polyIndex = meshPolygonsIter.index(); + uint polyIndex = meshPolygonsIter.index(); uint realShaderCount = ( uint ) mShaders.length(); if ( mShaderPosition < realShaderCount && ( uint ) mShaderIndices[polyIndex] != mShaderPosition ) continue; if ( mShaderPosition >= realShaderCount && + polyIndex < mShaderIndices.length() && ( mShaderIndices[polyIndex] >= 0 && mShaderIndices[polyIndex] < ( int ) realShaderCount ) ) continue; @@ -498,21 +505,22 @@ // ---------------------------------------- uint GeometryPolygonExporter::getShaderPolygonsCount( - const MFnMesh &fnMesh ) + const MObject &mesh ) { uint numPolygons = 0; // Iterate through all polygons of the current mesh. // Check their polygons for holes and retrieve the vertexCountList. - MItMeshPolygon meshPolygonsIter ( fnMesh.object() ); + MItMeshPolygon meshPolygonsIter ( mesh ); for ( meshPolygonsIter.reset(); !meshPolygonsIter.isDone(); meshPolygonsIter.next() ) { // Is this polygon shaded by this shader? - int polyIndex = meshPolygonsIter.index(); + uint polyIndex = meshPolygonsIter.index(); uint realShaderCount = ( uint ) mShaders.length(); if ( mShaderPosition < realShaderCount && ( uint ) mShaderIndices[polyIndex] != mShaderPosition ) continue; if ( mShaderPosition >= realShaderCount && + polyIndex < mShaderIndices.length() && ( mShaderIndices[polyIndex] >= 0 && mShaderIndices[polyIndex] < ( int ) realShaderCount ) ) continue; @@ -877,9 +885,11 @@ const MIntArray &normalIndices, const int iteratorVertexIndex, MItMeshPolygon &meshPolygonsIter, - MFnMesh &fnMesh, + const MObject& mesh, const int polyIndex ) { + MFnMesh fnMesh(mesh); + // Dump the indices size_t numAttributes = polygon->getVertexAttributes().size(); @@ -936,7 +946,14 @@ int colorIndex = 0; { #if MAYA_API_VERSION >= 700 - fnMesh.getColorIndex ( polyIndex, iteratorVertexIndex, colorIndex, &colorSetName ); + MStatus status = fnMesh.getColorIndex ( polyIndex, iteratorVertexIndex, colorIndex, &colorSetName ); + if (status && colorIndex == -1) + { + // if vertex has no color, use default color (last color in color source) + MColorArray colors; + fnMesh.getColors(colors, &colorSetName); + colorIndex = colors.length(); + } #else fnMesh.getFaceVertexColorIndex ( polyIndex, iteratorVertexIndex, colorIndex ); #endif @@ -955,7 +972,7 @@ // -------------------------------------------------------- COLLADASW::PrimitivesBase* GeometryPolygonExporter::preparePrimitivesBase( - const MFnMesh &fnMesh, + const MObject& mesh, const uint numPolygons, const uint exportType ) { @@ -992,7 +1009,7 @@ { // Retrieve the vertex count list for the polylist element. primitivesBasePoly->openVertexCountListElement(); - writeVertexCountList ( primitivesBasePoly, fnMesh ); + writeVertexCountList ( primitivesBasePoly, mesh ); primitivesBasePoly->closeElement(); } diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaHwShaderExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaHwShaderExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaHwShaderExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaHwShaderExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -27,7 +27,13 @@ #include "COLLADASWOpenGLConstants.h" #include "COLLADASWConstants.h" +#if defined(WIN64) && MAYA_API_VERSION >= 201600 && !defined(WIN32) +/* define WIN32 to work around CFGX WIN64 compilation */ +#define WIN32 +#endif + #include "cgfxShaderNode.h" + #include "cgfxFindImage.h" #include @@ -98,7 +104,37 @@ // Set the current include file if ( ExportOptions::exportCgfxFileReferences () ) - mEffectProfile->setInclude ( shaderFxFileUri, shaderFxFileUri.getPathFileBase() ); + { + if ( shaderFxFileUri.getScheme ().empty () ) + shaderFxFileUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); + + if ( ExportOptions::relativePaths() ) + { + // Get the URI of the COLLADA file. + String targetColladaFile = mDocumentExporter->getFilename(); + COLLADASW::URI targetColladaUri ( COLLADASW::URI::nativePathToUri ( targetColladaFile ) ); + if ( targetColladaUri.getScheme ().empty () ) + targetColladaUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); + + // Get the texture URI relative to the COLLADA file URI. + bool success = false; + COLLADASW::URI targetUri = shaderFxFileUri.getRelativeTo( targetColladaUri, success ); + if ( !success ) + { + String message = "Not able to generate a relative path from " + + shaderFxFileUri.getURIString() + " to " + targetColladaUri.getURIString() + + ". An absolute path will be written! "; + MGlobal::displayError ( message.c_str() ); + targetUri = shaderFxFileUri; + } + + mEffectProfile->setInclude ( targetUri, shaderFxFileUri.getPathFileBase() ); + } + else + { + mEffectProfile->setInclude ( shaderFxFileUri, shaderFxFileUri.getPathFileBase() ); + } + } else { // Add the source code @@ -127,8 +163,95 @@ cgTechnique = cgGetNextTechnique ( cgTechnique ); } mEffectProfile->closeProfile (); -#endif +#else // MAYA_API_VERSION < 201200 + // Set the current shader scope to CG + setShaderScope ( COLLADASW::Shader::SCOPE_CG ); + + // Writes the current effect profile into the collada document + mEffectProfile->setProfileType ( COLLADASW::EffectProfile::CG ); + mEffectProfile->openProfile (); + + // Get a pointer to the current stream writer + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + // Get the filename of the current cgfx file + MString shaderFxFile = cgfxFindFile(shaderNodeCgfx->shaderFxFile()); + String shaderFxFileName = shaderFxFile.asChar (); // check3d.cgfx + COLLADASW::URI shaderFxFileUri ( COLLADASW::URI::nativePathToUri ( shaderFxFileName ) ); + setShaderFxFileUri ( shaderFxFileUri ); + + // Get the current CGeffect + const cgfxRCPtr& cgEffect = shaderNodeCgfx->effect(); + if( cgEffect.isNull() ) + { + MGlobal::displayError ("cgEffect is null."); + return; + } + + // Set the current include file + if ( ExportOptions::exportCgfxFileReferences () ) + mEffectProfile->setInclude ( shaderFxFileUri, shaderFxFileUri.getPathFileBase() ); + else + { +#if 1 + String sourceString = "dummy."; + // Get the code sid + String codeSid = shaderFxFileUri.getPathFileBase (); + // Set the code into the collada effect profile + mEffectProfile->setCode ( sourceString, codeSid ); +#else //1 + // Add the source code + CGcontext cgContext = cgGetEffectContext ( cgEffect ); + CGprogram cgProgram = cgGetFirstProgram ( cgContext ); + const char* programSourceCG = cgGetProgramString ( cgProgram, CG_PROGRAM_SOURCE ); + String sourceString = getProgramSourceString ( programSourceCG ); + // Get the code sid + String codeSid = shaderFxFileUri.getPathFileBase (); + // Set the code into the collada effect profile + mEffectProfile->setCode ( sourceString, codeSid ); +#endif //1 + } + + // Add the source code and the include file + mEffectProfile->addProfileElements (); + + // Export the effects parameter + MObject shaderNode = shaderNodeCgfx->thisMObject(); + exportEffectParameters ( shaderNode, cgEffect ); + + // Find if effect parameter is used by any program of the selected technique + const cgfxTechnique* technique = cgEffect->getFirstTechnique(); + while( technique ) + { + exportTechnique ( technique ); + technique = technique->getNext(); + } +#endif // MAYA_API_VERSION < 201200 + } + +#if MAYA_API_VERSION >= 201200 + void HwShaderExporter::exportTechnique ( + const cgfxTechnique* technique + ) + { + mEffectProfile->setTechniqueSid ( technique->getName().asChar() ); + String techniqueName = technique->getName().asChar(); + // Open the current technique element + mEffectProfile->openTechnique ( techniqueName ); + + // Go through the passes and write it into the collada file. + const cgfxPass* pass = technique->getFirstPass(); + while ( pass ) + { + CGpass cgPass = pass->getCgPass(); + exportPass ( cgPass ); + pass = pass->getNext(); + } + + // Close the current technique element + mEffectProfile->closeTechnique (); } +#endif//MAYA_API_VERSION >= 201200 // -------------------------------- void HwShaderExporter::exportTechnique ( @@ -462,15 +585,29 @@ // -------------------------------------- void HwShaderExporter::exportEffectParameters ( - MObject shaderNode, - const CGeffect& cgEffect ) + MObject shaderNode, +#if MAYA_API_VERSION < 201200 + const CGeffect& cgEffect +#else // MAYA_API_VERSION < 201200 + const cgfxRCPtr& cgEffect +#endif // MAYA_API_VERSION < 201200 + ) { COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); // Write the parameters +#if MAYA_API_VERSION < 201200 CGparameter cgParameter = cgGetFirstEffectParameter ( cgEffect ); while (cgParameter) { +#else // MAYA_API_VERSION < 201200 + cgfxRCPtr effectAttributes = cgEffect->attrsFromEffect(); + cgfxAttrDefList::iterator effectIt; + for ( effectIt=effectAttributes->begin(); effectIt; ++effectIt ) + { + cgfxAttrDef* effectAttribute = *effectIt; + CGparameter cgParameter = effectAttribute->fParameterHandle; +#endif // MAYA_API_VERSION < 201200 const char* paramName = cgGetParameterName ( cgParameter ); CGresource resource = cgGetParameterBaseResource ( cgParameter ); CGtype paramBaseType = cgGetParameterBaseType ( cgParameter ); @@ -1126,10 +1263,8 @@ if ( !fileName.empty () ) { // Get the image path - COLLADASW::URI shaderFxFileUri = getShaderFxFileUri(); - // Take the filename for the unique image name - COLLADASW::URI sourceFileUri ( shaderFxFileUri, fileName ); + COLLADASW::URI sourceFileUri(COLLADASW::URI::nativePathToUri(fileName)); if ( sourceFileUri.getScheme ().empty () ) sourceFileUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); String mayaImageId = DocumentExporter::mayaNameToColladaName ( sourceFileUri.getPathFileBase().c_str () ); diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLightExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLightExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLightExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLightExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -14,12 +14,14 @@ */ #include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaAttributeParser.h" #include "COLLADAMayaSceneGraph.h" #include "COLLADAMayaEffectExporter.h" #include "COLLADAMayaLightExporter.h" #include "COLLADAMayaExportOptions.h" #include "COLLADAMayaAnimationExporter.h" +#include #include #include #include @@ -90,16 +92,16 @@ // Check if the original instanced element is already exported. SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); SceneElement* exportedElement = sceneGraph->findExportedElement ( instancedPath ); - if ( exportedElement == 0 ) - { - // Export the original instanced element and push it in the exported scene graph. - if ( exportLight ( instancedPath ) ) - { - SceneElement* instancedSceneElement = sceneGraph->findElement ( instancedPath ); - SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); - sceneGraph->addExportedElement( instancedSceneElement ); - } - } + if (exportedElement == 0) + { + // Export the original instanced element and push it in the exported scene graph. + if (exportLight(instancedPath)) + { + SceneElement* instancedSceneElement = sceneGraph->findElement(instancedPath); + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneGraph->addExportedElement(instancedSceneElement); + } + } } else { @@ -198,6 +200,10 @@ float intensity = lightFn.intensity ( &status ); CHECK_STAT(status); animated = anim->addNodeAnimation ( lightNode, ATTR_INTENSITY, kSingle ); light->setIntensity( intensity, animated ); + + // Export light intensity + light->addExtraTechniqueParameter(PROFILE_MAYA, ATTR_INTENSITY, intensity); + // Add the type specific attributes if (lightNode.hasFn(MFn::kNonAmbientLight)) @@ -236,7 +242,15 @@ float penumbraValue = COLLADABU::Math::Utils::radToDegF ( (float)spotFn.penumbraAngle( &status ) ); CHECK_STAT(status); animated = anim->addNodeAnimation ( lightNode, ATTR_PENUMBRA_ANGLE, ( SampleType ) ( kSingle | kAngle ) ); - // TODO + + + // Export spot setting + float dropOff = (float)spotFn.dropOff(&status); CHECK_STAT(status); + light->addExtraTechniqueParameter(PROFILE_MAYA, MAYA_PENUMBRA_LIGHT_PARAMETER, penumbraValue); + light->addExtraTechniqueParameter(PROFILE_MAYA, MAYA_DROPOFF_LIGHT_PARAMETER, dropOff); + + + // TODO // FCDLightTools::LoadPenumbra(light, penumbraValue, colladaLight->GetOuterAngle().GetAnimated()); // TODO @@ -244,12 +258,132 @@ // light->setDropOff ( (float) spotFn.dropOff ( &status ), animated ); CHECK_MSTATUS(status); } + SceneElement* sceneElement = NULL; + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneElement = sceneGraph->findElement(dagPath); + exportExtraAttributes(sceneElement, light); + addLight ( *light ); delete light; return true; } + //--------------------------------------------------------------- + void LightExporter::exportExtraAttributes(const SceneElement* sceneElement, COLLADASW::Light* light) + { + class ExtraAttributeExporter : public AttributeParser + { + public: + ExtraAttributeExporter(COLLADASW::Light& light) + : mLight(light) + {} + + private: + COLLADASW::Light& mLight; + + protected: + virtual bool onBeforeAttribute(MFnDependencyNode & node, MObject & attr) override + { + MStatus status; + MFnAttribute fnAttr(attr, &status); + if (!status) return false; + + MString attrName = fnAttr.name(&status); + if (!status) return false; + + bool isDynamic = fnAttr.isDynamic(&status); + if (!status) return false; + + if (!isDynamic) + return false; + + bool isHidden = fnAttr.isHidden(&status); + if (!status) return false; + + if (isHidden) + return false; + + return true; + } + + virtual void onBoolean(MPlug & plug, const MString & name, bool value) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger(MPlug & plug, const MString & name, int value) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger2(MPlug & plug, const MString & name, int value[2]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onInteger3(MPlug & plug, const MString & name, int value[3]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat(MPlug & plug, const MString & name, float value) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat2(MPlug & plug, const MString & name, float value[2]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onFloat3(MPlug & plug, const MString & name, float value[3]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble(MPlug & plug, const MString & name, double value) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value, "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble2(MPlug & plug, const MString & name, double value[2]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble3(MPlug & plug, const MString & name, double value[3]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onDouble4(MPlug & plug, const MString & name, double value[4]) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), value[0], value[1], value[2], value[3], "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onString(MPlug & plug, const MString & name, const MString & value) override + { + mLight.addExtraTechniqueParameter(PROFILE_MAYA, name.asChar(), COLLADABU::StringUtils::translateToXML(String(value.asChar())), "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + + virtual void onEnum(MPlug & plug, const MString & name, int enumValue, const MString & enumName) override + { + // TODO export all possible enum values to be able to re-import them? + mLight.addExtraTechniqueEnumParameter(PROFILE_MAYA, name.asChar(), COLLADABU::StringUtils::translateToXML(String(enumName.asChar())), "", COLLADASW::CSWC::CSW_ELEMENT_PARAM); + } + }; + + MObject nodeObject = sceneElement->getNode(); + + MStatus status; + MFnDependencyNode fnNode(nodeObject, &status); + if (!status) return; + + ExtraAttributeExporter extraAttributeExporter(*light); + AttributeParser::parseAttributes(fnNode, extraAttributeExporter); + } + // ------------------------------------ const String LightExporter::findColladaLightId ( const String& mayaLightId ) { diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLightProbeExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLightProbeExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLightProbeExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLightProbeExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,238 @@ +/* + Copyright (c) 2015 Starbreeze AB + + This file is part of COLLADAMaya. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaSceneElement.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADAMayaDocumentExporter.h" +#include "COLLADAMayaLightProbeExporter.h" +#include "COLLADAMayaSyntax.h" +#include "COLLADAMayaDagHelper.h" +#include "COLLADASWConstants.h" + +namespace COLLADASW +{ + //--------------------------------------------------------------- + void InstanceLightProbe::add() + { + COLLADASW::Extra extra(mSW); + COLLADASW::Technique technique(mSW); + extra.openExtra(); + { + technique.openTechnique(COLLADAMaya::PROFILE_MAYA); + { + mSW->openElement(COLLADAMaya::CSW_ELEMENT_INSTANCE_LIGHT_PROBE); + { + mSW->appendURIAttribute(CSWC::CSW_ATTRIBUTE_URL, mUrl); + } + mSW->closeElement(); + } + technique.closeTechnique(); + } + extra.closeExtra(); + } + + // --------------------------------------------------- + LightProbe::LightProbe ( + StreamWriter* streamWriter, + const String& lightProbeId, + const String& lightProbeName) + : ElementWriter ( streamWriter ) + , BaseExtraTechnique ( ) + , mLightProbeId ( lightProbeId ) + , mLightProbeName ( lightProbeName ) + {} + + // --------------------------------------------------- + void LightProbe::add () const + { + mSW->openElement ( COLLADAMaya::CSW_ELEMENT_LIGHT_PROBE ); + mSW->appendAttribute ( CSWC::CSW_ATTRIBUTE_ID, getLightProbeId() ); + if ( !getLightProbeName().empty() ) + mSW->appendAttribute ( CSWC::CSW_ATTRIBUTE_NAME, getLightProbeName() ); + + //mSW->openElement ( CSWC::CSW_ELEMENT_TECHNIQUE_COMMON ); + //mSW->closeElement(); // COLLADASW_ELEMENT_TECHNIQUE_COMMON + addExtraTechniques ( mSW ); + + mSW->closeElement(); // COLLADASW_ELEMENT_LIGHT_PROBE + + } + + //--------------------------------------------------------------- + LibraryLightProbes::LibraryLightProbes ( COLLADASW::StreamWriter* streamWriter ) + : Library ( streamWriter, COLLADAMaya::CSW_ELEMENT_LIBRARY_LIGHT_PROBES ) + , BaseExtraTechnique() + {} + + + //--------------------------------------------------------------- + void LibraryLightProbes::addLightProbe ( const LightProbe& lightProbe ) + { + openExtraLibrary(COLLADAMaya::PROFILE_MAYA); + lightProbe.add(); + } +} + +namespace COLLADAMaya +{ + + //--------------------------------------------------------------- + LightProbeExporter::LightProbeExporter ( + COLLADASW::StreamWriter* streamWriter, + DocumentExporter* documentExporter ) + : COLLADASW::LibraryLightProbes ( streamWriter ) + , mDocumentExporter ( documentExporter ) + {} + + + //--------------------------------------------------------------- + void LightProbeExporter::exportLightProbes ( ) + { + //if ( !ExportOptions::exportLightProbes() ) return; + + // Get the list with the transform nodes. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + SceneElementsList* exportNodesTree = sceneGraph->getExportNodesTree(); + + // Export all/selected DAG nodes + size_t length = exportNodesTree->size(); + for ( uint i = 0; i < length; ++i ) + { + SceneElement* sceneElement = ( *exportNodesTree ) [i]; + exportLightProbes ( sceneElement ); + } + + closeExtraLibrary(); + } + + //--------------------------------------------------------------- + void LightProbeExporter::exportLightProbes ( SceneElement* sceneElement ) + { + // If we have a external reference, we don't need to export the data here. + if ( !sceneElement->getIsLocal() ) return; + if ( !sceneElement->getIsExportNode () ) return; + + // Check if it is a light probe. + SceneElement::Type sceneElementType = sceneElement->getType(); + if ( sceneElementType == SceneElement::LIGHT_PROBE ) + { + // Get the current dag path + MDagPath dagPath = sceneElement->getPath(); + + // Check if the current scene element isn't already exported. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + if ( sceneGraph->findExportedElement ( dagPath ) ) return; + + // Check if the current element is an instance. + // We don't need to export instances, because we export the original instanced element. + bool isInstance = ( dagPath.isInstanced() && dagPath.instanceNumber() > 0 ); + + // If the original instanced element isn't already exported, we have to export it now. + if ( isInstance ) + { + // Get the original instanced element. + MDagPath instancedPath; + dagPath.getPath ( instancedPath, 0 ); + + // Check if the original instanced element is already exported. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + SceneElement* exportedElement = sceneGraph->findExportedElement ( instancedPath ); + if (exportedElement == 0) + { + // Export the original instanced element and push it in the exported scene graph. + if (exportLightProbe(instancedPath)) + { + SceneElement* instancedSceneElement = sceneGraph->findElement(instancedPath); + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneGraph->addExportedElement(instancedSceneElement); + } + } + } + else + { + // Export the element and push it in the exported scene graph. + if ( exportLightProbe ( dagPath ) ) + { + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneGraph->addExportedElement( sceneElement ); + } + } + } + + + // Recursive call for all the child elements + for ( uint i=0; igetChildCount(); ++i ) + { + SceneElement* childElement = sceneElement->getChild ( i ); + exportLightProbes ( childElement ); + } + } + + // ------------------------------------ + bool LightProbeExporter::exportLightProbe ( const MDagPath& dagPath ) + { + //if ( !ExportOptions::exportLightProbes() ) return false; + + MObject lightProbeNode = dagPath.node(); + + // Get the maya light probe id. + String mayaLightProbeId = mDocumentExporter->dagPathToColladaId ( dagPath ); + + // Generate a COLLADA id for the new object + String colladaLightProbeId; + + // Check if there is an extra attribute "colladaId" and use this as export id. + MString attributeValue; + DagHelper::getPlugValue ( lightProbeNode, COLLADA_ID_ATTRIBUTE_NAME, attributeValue ); + if ( attributeValue != EMPTY_CSTRING ) + { + // Generate a valid collada name, if necessary. + colladaLightProbeId = mDocumentExporter->mayaNameToColladaName ( attributeValue, false ); + } + else + { + // Generate a COLLADA id for the new object + colladaLightProbeId = mDocumentExporter->dagPathToColladaId ( dagPath ); + } + // Make the id unique and store it in a map. + colladaLightProbeId = mLightProbeIdList.addId ( colladaLightProbeId ); + mMayaIdColladaIdMap [ mayaLightProbeId ] = colladaLightProbeId; + + // Get a pointer to the stream writer. + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + // The light name + String lightProbeName = mDocumentExporter->dagPathToColladaName ( dagPath ); + + // Create light probe + COLLADASW::LightProbe* lightProbe = new COLLADASW::LightProbe( streamWriter, colladaLightProbeId, lightProbeName ); + + // Export the original maya name. + lightProbe->addExtraTechniqueParameter ( PROFILE_MAYA, PARAMETER_MAYA_ID, mayaLightProbeId ); + + addLightProbe ( *lightProbe ); + delete lightProbe; + + return true; + } + + // ------------------------------------ + const String LightProbeExporter::findColladaLightProbeId ( const String& mayaLightProbeId ) + { + const StringToStringMap::const_iterator it = mMayaIdColladaIdMap.find ( mayaLightProbeId ); + if ( it != mMayaIdColladaIdMap.end () ) + { + return it->second; + } + return EMPTY_STRING; + } + +} \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLODExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLODExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaLODExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaLODExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,97 @@ +/* + Copyright (c) 2008-2009 NetAllied Systems GmbH + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaAttributeParser.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADAMayaEffectExporter.h" +#include "COLLADAMayaLODExporter.h" +#include "COLLADAMayaExportOptions.h" +#include "COLLADAMayaAnimationExporter.h" +#include "COLLADAMayaVisualSceneExporter.h" + +#include + + + +namespace COLLADAMaya +{ + + //--------------------------------------------------------------- + LODExporter::LODExporter( + COLLADASW::StreamWriter* streamWriter, + DocumentExporter* documentExporter ) + : COLLADASW::LibraryNodes(streamWriter) + , mDocumentExporter ( documentExporter ) + {} + + + //--------------------------------------------------------------- + void LODExporter::exportLODs(VisualSceneExporter* mVisualSceneExporter) + { + if (!ExportOptions::exportLOD()) + return; + + // Get the list with the transform nodes. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + SceneElementsList* exportNodesTree = sceneGraph->getExportNodesTree(); + + // Export all/selected DAG nodes + size_t length = exportNodesTree->size(); + for (size_t i = 0; i < length; ++i) + { + // No instance node under the visual scene! + SceneElement* sceneElement = (*exportNodesTree)[i]; + + exportLOD(mVisualSceneExporter, sceneElement); + } + + mDocumentExporter->mExportPass = VISUAL_SCENE_PASS; + + closeLibrary(); + } + + + void LODExporter::exportLOD(VisualSceneExporter* mVisualSceneExporter, SceneElement* sceneElement) + { + SceneElement::Type sceneElementType = sceneElement->getType(); + if (sceneElementType == SceneElement::LOD) + { + openLibrary(); + + mVisualSceneExporter->ResetLODCounter(); + + // First Pass + mDocumentExporter->mExportPass = FIRST_LOD_PASS; + mVisualSceneExporter->exportVisualSceneNodes(sceneElement); + + // Second Pass + mDocumentExporter->mExportPass = SECOND_LOD_PASS; + mVisualSceneExporter->exportVisualSceneNodes(sceneElement); + } + else + { + size_t childCount = sceneElement->getChildCount(); + for (size_t i = 0; i < childCount; ++i) + { + SceneElement* childSceneElement = sceneElement->getChild(i); + { + exportLOD(mVisualSceneExporter, childSceneElement); + } + } + } + + } +} \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaMaterialExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaMaterialExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaMaterialExporter.cpp 2014-07-03 16:30:54.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaMaterialExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -28,13 +28,19 @@ #include "COLLADASWParamTemplate.h" #include "COLLADASWConstants.h" -#include "cgfxShaderNode.h" #include #include #include #include +#if defined(WIN64) && MAYA_API_VERSION >= 201600 && !defined(WIN32) +/* define WIN32 to work around CFGX WIN64 compilation */ +#define WIN32 +#endif + +#include "cgfxShaderNode.h" + #include namespace COLLADAMaya @@ -286,136 +292,146 @@ { case cgfxAttrDef::kAttrTypeBool: { - COLLADASW::SetParamBool setParam ( streamWriter ); - setParam.openParam ( attributeName ); - setParam.appendValues ( attribute->fNumericDef && attribute->fNumericDef[0] ); - setParam.closeParam (); + if (attribute->fNumericDef) + { + COLLADASW::SetParamBool setParam ( streamWriter ); + setParam.openParam ( attributeName ); + setParam.appendValues ( attribute->fNumericDef[0] != 0.0 ); + setParam.closeParam (); + } break; } case cgfxAttrDef::kAttrTypeInt: { - COLLADASW::SetParamInt setParam ( streamWriter ); - setParam.openParam ( attributeName ); - setParam.appendValues ( (int) attribute->fNumericDef[0] ); - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamInt setParam(streamWriter); + setParam.openParam(attributeName); + setParam.appendValues(static_cast(attribute->fNumericDef[0])); + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeString: { - COLLADASW::SetParamString setParam ( streamWriter ); - setParam.openParam ( attributeName ); - if ( attribute->fStringDef != NULL ) - setParam.appendValues ( String ( attribute->fStringDef.asChar() ) ); - setParam.closeParam(); + if (attribute->fStringDef.length() > 0) + { + COLLADASW::SetParamString setParam(streamWriter); + setParam.openParam(attributeName); + setParam.appendValues(String(attribute->fStringDef.asChar())); + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeFloat: { - COLLADASW::SetParamFloat setParam ( streamWriter ); - setParam.openParam ( attributeName ); - if ( attribute->fNumericDef!=NULL /*&& attribute->fNumericDef[0]!=0*/ ) - setParam.appendValues ( attribute->fNumericDef[0] ); - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamFloat setParam(streamWriter); + setParam.openParam(attributeName); + setParam.appendValues(attribute->fNumericDef[0]); + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeVector2: { - COLLADASW::SetParamFloat2 setParam ( streamWriter ); - setParam.openParam ( attributeName ); - for ( int i=0; ifSize; ++i ) - { - if ( attribute->fNumericDef!=NULL /*&& attribute->fNumericDef[i]!=0*/ ) - { - double val = attribute->fNumericDef[i]; - setParam.appendValues( val ); - } - } - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamFloat2 setParam(streamWriter); + setParam.openParam(attributeName); + for (int i = 0; i < attribute->fSize; ++i) + { + setParam.appendValues(attribute->fNumericDef[i]); + } + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeVector3: case cgfxAttrDef::kAttrTypeColor3: { - COLLADASW::SetParamFloat3 setParam ( streamWriter ); - setParam.openParam ( attributeName ); - for ( int i=0; ifSize; ++i ) - { - if ( attribute->fNumericDef!=NULL /*&& attribute->fNumericDef[i]!=0*/ ) - { - double val = attribute->fNumericDef[i]; - setParam.appendValues( val ); - } - } - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamFloat3 setParam ( streamWriter ); + setParam.openParam ( attributeName ); + for ( int i=0; ifSize; ++i ) + { + setParam.appendValues(attribute->fNumericDef[i]); + } + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeVector4: case cgfxAttrDef::kAttrTypeColor4: { - COLLADASW::SetParamFloat4 setParam ( streamWriter ); - setParam.openParam ( attributeName ); - for ( int i=0; ifSize; ++i ) - { - if ( attribute->fNumericDef!=NULL /*&& attribute->fNumericDef[i]!=0*/ ) - { - double val = attribute->fNumericDef[i]; - setParam.appendValues( val ); - } - } - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamFloat4 setParam(streamWriter); + setParam.openParam(attributeName); + for (int i = 0; i < attribute->fSize; ++i) + { + setParam.appendValues(attribute->fNumericDef[i]); + } + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeWorldDir: case cgfxAttrDef::kAttrTypeWorldPos: { - // Read the value - double tmp[4]; - for ( int i=0; ifSize; ++i ) - { - tmp[i] = attribute->fNumericDef[i]; - } - if (attribute->fSize == 3) tmp[3] = 1.0; - - // Find the coordinate space, and whether it is a point or a vector - int base = cgfxAttrDef::kAttrTypeFirstPos; - if (attribute->fType <= cgfxAttrDef::kAttrTypeLastDir) - base = cgfxAttrDef::kAttrTypeFirstDir; - int space = attribute->fType - base; - - // Compute the transform matrix - MMatrix mat; - switch (space) - { - /* case 0: object space, handled in view dependent method */ - case 1: /* world space - do nothing, identity */ break; - /* case 2: eye space, unsupported yet */ - /* case 3: clip space, unsupported yet */ - /* case 4: screen space, unsupported yet */ - } - - if ( base == cgfxAttrDef::kAttrTypeFirstPos ) - { - MPoint point(tmp[0], tmp[1], tmp[2], tmp[3]); - point *= mat; - tmp[0] = point.x; - tmp[1] = point.y; - tmp[2] = point.z; - tmp[3] = point.w; - } - else - { - MVector vec(tmp[0], tmp[1], tmp[2]); - vec *= mat; - tmp[0] = vec.x; - tmp[1] = vec.y; - tmp[2] = vec.z; - tmp[3] = 1; - } - - COLLADASW::SetParamFloat4 setParam ( streamWriter ); - setParam.openParam ( attributeName ); - setParam.appendValues( tmp[0], tmp[1], tmp[2], tmp[3] ); - setParam.closeParam(); + if (attribute->fNumericDef) + { + // Read the value + double tmp[4]; + for (int i = 0; i < attribute->fSize; ++i) + { + tmp[i] = attribute->fNumericDef[i]; + } + if (attribute->fSize == 3) tmp[3] = 1.0; + + // Find the coordinate space, and whether it is a point or a vector + int base = cgfxAttrDef::kAttrTypeFirstPos; + if (attribute->fType <= cgfxAttrDef::kAttrTypeLastDir) + base = cgfxAttrDef::kAttrTypeFirstDir; + int space = attribute->fType - base; + + // Compute the transform matrix + MMatrix mat; + switch (space) + { + /* case 0: object space, handled in view dependent method */ + case 1: /* world space - do nothing, identity */ break; + /* case 2: eye space, unsupported yet */ + /* case 3: clip space, unsupported yet */ + /* case 4: screen space, unsupported yet */ + } + + if (base == cgfxAttrDef::kAttrTypeFirstPos) + { + MPoint point(tmp[0], tmp[1], tmp[2], tmp[3]); + point *= mat; + tmp[0] = point.x; + tmp[1] = point.y; + tmp[2] = point.z; + tmp[3] = point.w; + } + else + { + MVector vec(tmp[0], tmp[1], tmp[2]); + vec *= mat; + tmp[0] = vec.x; + tmp[1] = vec.y; + tmp[2] = vec.z; + tmp[3] = 1; + } + + COLLADASW::SetParamFloat4 setParam(streamWriter); + setParam.openParam(attributeName); + setParam.appendValues(tmp[0], tmp[1], tmp[2], tmp[3]); + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeMatrix: @@ -425,88 +441,91 @@ case cgfxAttrDef::kAttrTypeWorldViewMatrix: case cgfxAttrDef::kAttrTypeWorldViewProjectionMatrix: { - COLLADASW::SetParamFloat4x4 setParam ( streamWriter ); - setParam.openParam ( attributeName ); - - MMatrix mayaMatrix; - double* p = &mayaMatrix.matrix[0][0]; - for ( int k=0; kfSize; ++k ) - { - p[k] = attribute->fNumericDef[k]; - } - - MMatrix wMatrix, vMatrix, pMatrix, sMatrix; - MMatrix wvMatrix, wvpMatrix, wvpsMatrix; - { - float tmp[4][4]; - - wMatrix.setToIdentity(); - - glGetFloatv(GL_MODELVIEW_MATRIX, &tmp[0][0]); - wvMatrix = MMatrix(tmp); - - vMatrix = wMatrix.inverse() * wvMatrix; - - glGetFloatv(GL_PROJECTION_MATRIX, &tmp[0][0]); - pMatrix = MMatrix(tmp); - - wvpMatrix = wvMatrix * pMatrix; - - float vpt[4]; - float depth[2]; - - glGetFloatv(GL_VIEWPORT, vpt); - glGetFloatv(GL_DEPTH_RANGE, depth); - - // Construct the NDC -> screen space matrix - // - float x0, y0, z0, w, h, d; - - x0 = vpt[0]; - y0 = vpt[1]; - z0 = depth[0]; - w = vpt[2]; - h = vpt[3]; - d = depth[1] - z0; - - // Make a reference to ease the typing - // - double* s = &sMatrix.matrix[0][0]; - - s[ 0] = w/2; s[ 1] = 0.0; s[ 2] = 0.0; s[ 3] = 0.0; - s[ 4] = 0.0; s[ 5] = h/2; s[ 6] = 0.0; s[ 7] = 0.0; - s[ 8] = 0.0; s[ 9] = 0.0; s[10] = d/2; s[11] = 0.0; - s[12] = x0+w/2; s[13] = y0+h/2; s[14] = z0+d/2; s[15] = 1.0; - - wvpsMatrix = wvpMatrix * sMatrix; - } - - switch ( attribute->fType ) - { - case cgfxAttrDef::kAttrTypeWorldMatrix: - mayaMatrix = wMatrix; break; - case cgfxAttrDef::kAttrTypeViewMatrix: - mayaMatrix = vMatrix; break; - case cgfxAttrDef::kAttrTypeProjectionMatrix: - mayaMatrix = pMatrix; break; - case cgfxAttrDef::kAttrTypeWorldViewMatrix: - mayaMatrix = wvMatrix; break; - case cgfxAttrDef::kAttrTypeWorldViewProjectionMatrix: - mayaMatrix = wvpMatrix; break; - default: - break; - } - - if (attribute->fInvertMatrix) - mayaMatrix = mayaMatrix.inverse(); - - if (!attribute->fTransposeMatrix) - mayaMatrix = mayaMatrix.transpose(); - - double matrix[4][4]; - convertMayaMatrixToTransposedDouble4x4 ( matrix, mayaMatrix, getTolerance () ); - setParam.appendValues( matrix ); - setParam.closeParam(); + if (attribute->fNumericDef) + { + COLLADASW::SetParamFloat4x4 setParam(streamWriter); + setParam.openParam(attributeName); + + MMatrix mayaMatrix; + double* p = &mayaMatrix.matrix[0][0]; + for (int k = 0; k < attribute->fSize; ++k) + { + p[k] = attribute->fNumericDef[k]; + } + + MMatrix wMatrix, vMatrix, pMatrix, sMatrix; + MMatrix wvMatrix, wvpMatrix, wvpsMatrix; + { + float tmp[4][4]; + + wMatrix.setToIdentity(); + + glGetFloatv(GL_MODELVIEW_MATRIX, &tmp[0][0]); + wvMatrix = MMatrix(tmp); + + vMatrix = wMatrix.inverse() * wvMatrix; + + glGetFloatv(GL_PROJECTION_MATRIX, &tmp[0][0]); + pMatrix = MMatrix(tmp); + + wvpMatrix = wvMatrix * pMatrix; + + float vpt[4]; + float depth[2]; + + glGetFloatv(GL_VIEWPORT, vpt); + glGetFloatv(GL_DEPTH_RANGE, depth); + + // Construct the NDC -> screen space matrix + // + float x0, y0, z0, w, h, d; + + x0 = vpt[0]; + y0 = vpt[1]; + z0 = depth[0]; + w = vpt[2]; + h = vpt[3]; + d = depth[1] - z0; + + // Make a reference to ease the typing + // + double* s = &sMatrix.matrix[0][0]; + + s[0] = w / 2; s[1] = 0.0; s[2] = 0.0; s[3] = 0.0; + s[4] = 0.0; s[5] = h / 2; s[6] = 0.0; s[7] = 0.0; + s[8] = 0.0; s[9] = 0.0; s[10] = d / 2; s[11] = 0.0; + s[12] = x0 + w / 2; s[13] = y0 + h / 2; s[14] = z0 + d / 2; s[15] = 1.0; + + wvpsMatrix = wvpMatrix * sMatrix; + } + + switch (attribute->fType) + { + case cgfxAttrDef::kAttrTypeWorldMatrix: + mayaMatrix = wMatrix; break; + case cgfxAttrDef::kAttrTypeViewMatrix: + mayaMatrix = vMatrix; break; + case cgfxAttrDef::kAttrTypeProjectionMatrix: + mayaMatrix = pMatrix; break; + case cgfxAttrDef::kAttrTypeWorldViewMatrix: + mayaMatrix = wvMatrix; break; + case cgfxAttrDef::kAttrTypeWorldViewProjectionMatrix: + mayaMatrix = wvpMatrix; break; + default: + break; + } + + if (attribute->fInvertMatrix) + mayaMatrix = mayaMatrix.inverse(); + + if (!attribute->fTransposeMatrix) + mayaMatrix = mayaMatrix.transpose(); + + double matrix[4][4]; + convertMayaMatrixToTransposedDouble4x4(matrix, mayaMatrix, getTolerance()); + setParam.appendValues(matrix); + setParam.closeParam(); + } break; } case cgfxAttrDef::kAttrTypeColor1DTexture: @@ -610,10 +629,8 @@ String fileName = mayaFileName.asChar (); // Get the image path - COLLADASW::URI shaderFxFileUri = getShaderFxFileUri (); - // Take the filename for the unique image name - COLLADASW::URI sourceFileUri ( shaderFxFileUri, fileName ); + COLLADASW::URI sourceFileUri(COLLADASW::URI::nativePathToUri(fileName)); if ( sourceFileUri.getScheme ().empty () ) sourceFileUri.setScheme ( COLLADASW::URI::SCHEME_FILE ); String mayaImageId = DocumentExporter::mayaNameToColladaName ( sourceFileUri.getPathFileBase().c_str () ); @@ -681,8 +698,6 @@ COLLADASW::InstanceEffect& effectInstance, cgfxShaderNode* shaderNodeCgfx ) { - // Disabled for Maya2012, the raw CGeffect is no-longer directly accessible from the cgfxShaderNode class. -#if MAYA_API_VERSION < 201200 // Get the filename of the current cgfx file MString shaderFxFile = cgfxFindFile(shaderNodeCgfx->shaderFxFile()); String shaderFxFileName = shaderFxFile.asChar(); // check3d.cgfx @@ -697,6 +712,7 @@ // Clear the samplers setParam list. mSamplers.clear (); +#if MAYA_API_VERSION < 201200 // Get the setParams attributes CGeffect cgEffect = shaderNodeCgfx->effect(); CGtechnique cgTechnique = cgGetNamedTechnique( cgEffect, techniqueName.c_str() ); @@ -708,7 +724,25 @@ cgfxAttrDef* effectAttribute = *effectIt; setSetParam ( shaderNodeCgfx, effectAttribute ); } -#endif +#else // MAYA_API_VERSION < 201200 + // Get the setParams attributes + const cgfxRCPtr& cgEffect = shaderNodeCgfx->effect(); + if( cgEffect.isNull() ) + { + MGlobal::displayError ( "cgEffect is null." ); + return; + } + + cgfxRCPtr effectAttributes = cgEffect->attrsFromEffect(); + + MString sResult, sTemp; + cgfxAttrDefList::iterator effectIt; + for ( effectIt=effectAttributes->begin(); effectIt; ++effectIt ) + { + cgfxAttrDef* effectAttribute = *effectIt; + setSetParam ( shaderNodeCgfx, effectAttribute ); + } +#endif // MAYA_API_VERSION < 201200 } // -------------------------------------- diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,720 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaPhysicsExporter.h" +#include "COLLADAMayaExportOptions.h" +#include "COLLADAMayaSyntax.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADAMayaDagHelper.h" +#include "COLLADAMayaRotateHelper.h" +#include "COLLADAMayaGeometryExporter.h" +#include "COLLADASWInstanceGeometry.h" +#include "COLLADAMayaSceneElement.h" +#include "COLLADAMayaReferenceManager.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace COLLADAMaya +{ + static const char* NAME_SUFFIX_INVALID = "_MAKE_NAME_INVALID"; + MVector PhysicsExporter::gravityField; + + // -------------------------------------------------------- + PhysicsExporter::PhysicsExporter(COLLADASW::StreamWriter* streamWriter, + DocumentExporter* documentExporter) + : COLLADASW::LibraryPhysicsModels(streamWriter) + , mDocumentExporter(documentExporter) + , mIsFirstRotation(true) + { + firstimeOpenPhysModel = true; + } + + // -------------------------------------------------------- + PhysicsExporter::~PhysicsExporter(void) + { + + } + + // -------------------------------------------------------- + void PhysicsExporter::exportAllPhysics() + { + if ( !ExportOptions::exportPhysics() ) return; + + // Get the list with the transform nodes. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + SceneElementsList* exportNodesTree = sceneGraph->getExportNodesTree(); + + // Export all/selected DAG nodes + size_t length = exportNodesTree->size(); + for ( size_t i = 0; i < length; ++i ) + { + SceneElement* sceneElement = ( *exportNodesTree ) [i]; + exportAllPhysics(sceneElement, sceneElement->getIsVisible()); + } + + if (!firstimeOpenPhysModel) + closePhysicsModel(); + + endExport(); + } + + // -------------------------------------------------------- + void PhysicsExporter::exportAllPhysics(SceneElement* sceneElement, bool isVisible) + { + // If we have a external reference, we don't need to export the data here. + if ( !sceneElement->getIsLocal() && !ExportOptions::exportXRefs()) return; + + bool exportSceneElement = false; + SceneElement::Type sceneElementType = sceneElement->getType(); + if (sceneElementType == SceneElement::PHYSIK || sceneElementType == SceneElement::PHYSIK_BULLET) + { + if ( sceneElement->getIsExportNode () ) exportSceneElement = true; + else + { + if ( sceneElement->getIsForced () ) exportSceneElement = true; + else if ( !isVisible && ExportOptions::exportInvisibleNodes () ) exportSceneElement = true; + } + } + + if ( exportSceneElement ) + { + // Get the current dag path + MDagPath dagPath = sceneElement->getPath(); + + // Check if the current scene element isn't already exported. + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + if ( sceneGraph->findExportedElement ( dagPath ) ) return; + + // Check if the current element is an instance. + // We don't need to export instances, because we export the original instanced element. + bool isInstance = ( dagPath.isInstanced() && dagPath.instanceNumber() > 0 ); + + // If the original instanced element isn't already exported, we have to export it now. + if ( isInstance ) + { + // Get the original instanced element. + MDagPath instancedPath; + dagPath.getPath ( instancedPath, 0 ); + + // Check if the original instanced element is already exported. + SceneElement* exportedElement = sceneGraph->findExportedElement ( instancedPath ); + if ( exportedElement == 0 ) + { + // Export the original instanced element. + SceneElement* instancedSceneElement = sceneGraph->findElement ( instancedPath ); +// exportControllerOrGeometry ( instancedSceneElement ); + } + } + else + { + exportPhysics ( sceneElement ); + } + } + + // Check if the element is visible (inherit visibility to children) + if ( isVisible ) isVisible = sceneElement->getIsVisible (); + + // Recursive call for all the child elements + for ( uint i=0; igetChildCount(); ++i ) + { + SceneElement* childElement = sceneElement->getChild ( i ); + exportAllPhysics(childElement, isVisible); + } + } + + // -------------------------------------------------------- + void PhysicsExporter::exportPhysics ( + SceneElement* sceneElement ) + { + // Export the element and push it in the exported scene graph. + if ( exportPhysicsElement ( sceneElement ) ) + { + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + sceneGraph->addExportedElement( sceneElement ); + } + } + + // -------------------------------------------------------- + bool PhysicsExporter::exportPhysicsElement(SceneElement* sceneElement) + { + if (!ExportOptions::exportPhysics()) return false; + + // Get the current dag path + MDagPath dagPath = sceneElement->getPath(); + String pathName = dagPath.fullPathName ().asChar (); + + // Generate the unique collada mesh id. + const String& colladaRBId = generateColladaRigidBodyId ( dagPath, sceneElement->getIsLocal() ); +// if ( colladaMeshId.empty () ) return false; + + // Set the node id. + sceneElement->setNodeId ( colladaRBId ); + + return exportPhysicsModel(sceneElement); + } + + // -------------------------------------------------------- + const String PhysicsExporter::generateColladaRigidBodyId ( const MDagPath dagPath, bool isLocal ) + { + if (!isLocal) + { + const bool removeFirstNamespace = true; + return mDocumentExporter->dagPathToColladaName(dagPath); + } + + // Get the maya mesh id. + String mayaMeshId = mDocumentExporter->dagPathToColladaId ( dagPath ); + + // Generate a COLLADA id for the new object. + String colladaMeshId = findColladaPhysicsId(mayaMeshId); + + // Check, if the unique id for the current geometry is already generated. + if ( !colladaMeshId.empty () ) return colladaMeshId; + + // Get the node of the current mesh + colladaMeshId = mDocumentExporter->dagPathToColladaName ( dagPath ); + + // Make the id unique and store it in a map. + colladaMeshId = mPhysicsIdList.addId ( colladaMeshId ); + mMayaIdColladaIdMap [ mayaMeshId ] = colladaMeshId; + + return colladaMeshId; + } + + + //--------------------------------------------------------------- + void PhysicsExporter::exportTranslation( + const String name, + const MPoint& translation) + { + exportTranslation(name, MVector(translation)); + } + + //--------------------------------------------------------------- + void PhysicsExporter::exportTranslation( + const String name, + const MVector& translation) + { + bool isZero = true; + for (int i = 0; i<3 && isZero; ++i) + { + if (translation[i] != 0) isZero = false; + } + + if (!isZero) + { + // Convert the maya internal unit type from centimeters + // into the working units of the current scene! + addTranslate( + name, + COLLADABU::Math::Utils::equalsZero(translation.x, getTolerance()) ? 0 : MDistance::internalToUI(translation.x), + COLLADABU::Math::Utils::equalsZero(translation.y, getTolerance()) ? 0 : MDistance::internalToUI(translation.y), + COLLADABU::Math::Utils::equalsZero(translation.z, getTolerance()) ? 0 : MDistance::internalToUI(translation.z)); + } + } + + //--------------------------------------------------------------- + void PhysicsExporter::exportRotation( + const String name, + const MEulerRotation& rotation) + { + RotateHelper rotateHelper(rotation); + std::vector >& matrixRotate = rotateHelper.getRotationMatrix(); + std::vector& rotateParams = rotateHelper.getRotationParameters(); + + // Set zero flags, where the rotation is zero. The order of rotation is ZYX. + bool isZero[3] = { COLLADABU::Math::Utils::equalsZero(matrixRotate[0][3], getTolerance()), + COLLADABU::Math::Utils::equalsZero(matrixRotate[1][3], getTolerance()), + COLLADABU::Math::Utils::equalsZero(matrixRotate[2][3], getTolerance()) }; + + // Go through the axes for the rotations. + for (uint i = 0; i<3; ++i) + { + bool rotationIsNecessary = false; + + // Check, if we have to write the rotation. + if (mIsJoint && COLLADABU::Utils::equalsIgnoreCase(name, ATTR_JOINT_ORIENT)) + { + // A joint must always have a rotation. + rotationIsNecessary = true; + } + else + { + // You have to write the rotation, if the element is animated. + rotationIsNecessary = ( !(!mIsFirstRotation && isZero[i])); + } + + if (mTransformObject != MObject::kNullObj && rotationIsNecessary) + { + // Add the rotation in the order ZYX + addRotate( + name + rotateParams[i], + COLLADABU::Math::Utils::equalsZero(matrixRotate[i][0], getTolerance()) ? 0 : matrixRotate[i][0], + COLLADABU::Math::Utils::equalsZero(matrixRotate[i][1], getTolerance()) ? 0 : matrixRotate[i][1], + COLLADABU::Math::Utils::equalsZero(matrixRotate[i][2], getTolerance()) ? 0 : matrixRotate[i][2], + COLLADABU::Math::Utils::equalsZero(matrixRotate[i][3], getTolerance()) ? 0 : matrixRotate[i][3]); + } + } + + mIsFirstRotation = false; + } + + void PhysicsExporter::exportDecomposedTransform() + { + double resultFinal[4][4]; + mFinalTransformMatrix.asMatrix().get(resultFinal); + + bool mIsJoint = false; + + MVector translation = mFinalTransformMatrix.translation(MSpace::kTransform); + MPoint rotatePivotTranslation = mFinalTransformMatrix.rotatePivotTranslation(MSpace::kTransform); + MPoint rotatePivot = mFinalTransformMatrix.rotatePivot(MSpace::kTransform, NULL); + MVector scalePivotTranslation = mFinalTransformMatrix.scalePivotTranslation(MSpace::kTransform); + MVector scalePivot = mFinalTransformMatrix.scalePivot(MSpace::kTransform); + double shear[3] = { 0, 0, 0 }; + mFinalTransformMatrix.getShear(shear, MSpace::kTransform); + + MEulerRotation jointOrientation, rotation, rotationAxis; + if (mTransformObject != MObject::kNullObj) + { + mIsJoint = DagHelper::getPlugValue(mTransformObject, ATTR_JOINT_ORIENT, jointOrientation); + + if (!DagHelper::getPlugValue(mTransformObject, ATTR_ROTATE, rotation)) rotation.setValue(0, 0, 0); + if (!DagHelper::getPlugValue(mTransformObject, ATTR_ROTATE_AXIS, rotationAxis)) rotationAxis.setValue(0, 0, 0); + + rotation.order = (MEulerRotation::RotationOrder) ((int)mFinalTransformMatrix.rotationOrder() - MTransformationMatrix::kXYZ + MEulerRotation::kXYZ); + rotationAxis.order = jointOrientation.order = MEulerRotation::kXYZ; + } + else + { + rotation = mFinalTransformMatrix.eulerRotation(); + rotation.order = (MEulerRotation::RotationOrder) ((int)mFinalTransformMatrix.rotationOrder() - MTransformationMatrix::kXYZ + MEulerRotation::kXYZ); + mIsJoint = false; + } + + // This is the order of the transforms: + // + // matrix = [SP-1 * S * SH * SP * ST] * [RP-1 * RA * R * JO * RP * RT] * T + // [ scale ] * [ rotation ] * translation + // + // Where SP is scale pivot translation, S is scale, SH is shear, ST is scale pivot translation + // RP is rotation pivot, RA is rotation axis, R is rotation, RP is rotation pivot, + // RT is rotation pivot translation, T is translation, JO is joint orientation + // + // references: Maya documentation - transform node, Maya documentation - joint node + // NOTE: Left multiplying, column-order matrices + // + + // Translate + exportTranslation(ATTR_TRANSLATE, translation); + + //Rotate + exportTranslation(ATTR_ROTATE_PIVOT_TRANSLATION, rotatePivotTranslation); + exportTranslation(ATTR_ROTATE_PIVOT, rotatePivot); + if (mIsJoint) exportRotation(ATTR_JOINT_ORIENT, jointOrientation); + exportRotation(ATTR_ROTATE, rotation); + if (mIsJoint) exportRotation(ATTR_ROTATE_AXIS, rotationAxis); + exportTranslation(ATTR_ROTATE_PIVOT_INVERSE, rotatePivot * -1); + } + + void PhysicsExporter::createShape(MDagPath& childDagPath, MTransformationMatrix mPhysicsShapeTransformMatrix, MTransformationMatrix mGraphicShapeTransformMatrix) + { + MFnDagNode fnChild(mTransformObject); + MString childName(fnChild.name()); + + MObject childTransform = childDagPath.transform(); + + + double resultPhys[4][4]; + mPhysicsShapeTransformMatrix.asMatrix().get(resultPhys); + MMatrix MatPhysShape(mPhysicsShapeTransformMatrix.asMatrix()); + + double resultGraph[4][4]; + mGraphicShapeTransformMatrix.asMatrix().get(resultGraph); + MMatrix MatGraphShape(mGraphicShapeTransformMatrix.asMatrixInverse()); + + + // PhysicsShape Matrix relative to Graphic Shape Space + MMatrix result = MatPhysShape * MatGraphShape; + double result2[4][4]; + result.get(result2); + + mFinalTransformMatrix = result; + + //Get BoundingBox + childDagPath.extendToShape(); + + const MObject& meshNode = childDagPath.node(); + MFnMesh fnMesh(meshNode); + MBoundingBox bb = fnMesh.boundingBox(); + + + int shape; + bool shapeResult = DagHelper::getPlugValue(childTransform, ATTR_COLLISION_SHAPE, shape); + + if (shapeResult) + { + // Write Tag + openShape(); + + if (shape == COLLADAMaya::PhysicsExporter::Box) + { + AddBoxShape(MDistance::internalToUI(bb.width() / 2), MDistance::internalToUI(bb.height() / 2), MDistance::internalToUI(bb.depth() / 2)); + } + else if (shape == COLLADAMaya::PhysicsExporter::Capsule) + { + float radius = MDistance::internalToUI(bb.width() / 2); + float height = MDistance::internalToUI(bb.height()) - 2 * radius; + AddCapsuleShape(radius, radius, radius, height); + } + else if (shape == COLLADAMaya::PhysicsExporter::Convex_mesh) + { + MDagPath dagPath = MDagPath::getAPathTo(meshNode); + GeometryExporter* geometryExporter = mDocumentExporter->getGeometryExporter(); + const String& colladaMeshId = geometryExporter->getColladaGeometryId(dagPath); + //AddConvexMeshShape(colladaMeshId); + + COLLADASW::URI uri( (String("#") + String(colladaMeshId) + String("_"))); + + // Get the streamWriter from the export document + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + // Write the geometry instance + COLLADASW::InstanceGeometry instanceGeometry(streamWriter); + instanceGeometry.setUrl(uri); + + instanceGeometry.add(); + } + else if (shape == COLLADAMaya::PhysicsExporter::Mesh) + { + MDagPath dagPath = MDagPath::getAPathTo(meshNode); + GeometryExporter* geometryExporter = mDocumentExporter->getGeometryExporter(); + const String& colladaMeshId = geometryExporter->getColladaGeometryId(dagPath); + //AddConvexMeshShape(colladaMeshId); + + COLLADASW::URI uri((String("#") + String(colladaMeshId))); + + // Get the streamWriter from the export document + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + // Write the geometry instance + COLLADASW::InstanceGeometry instanceGeometry(streamWriter); + instanceGeometry.setUrl(uri); + + instanceGeometry.add(); + } + + exportDecomposedTransform(); + closeShape(); + } + } + + + + bool PhysicsExporter::isBulletRigidBodySolverNode(MDagPath& dagPath) + { + MStatus status; + MObject node(dagPath.node()); + MFnDependencyNode shaderNode(node, &status); + MString shaderNodeTypeName(shaderNode.typeName()); + + return (shaderNodeTypeName == BULLET_PHYSIKS_SOLVER_NODE); + } + + + bool PhysicsExporter::isBulletRigidBodyNode(MDagPath& dagPath) + { + + MStatus status; + MObject node(dagPath.node()); + MFnDependencyNode shaderNode(node, &status); + MString shaderNodeTypeName(shaderNode.typeName()); + + return (shaderNodeTypeName == BULLET_PHYSIKS_NODE); + } + + + void PhysicsExporter::getGravityField() + { + MItDag it(MItDag::kDepthFirst); + + while (!it.isDone()) + { + MFnDagNode fn(it.item()); + + MDagPath DagPath = MDagPath::getAPathTo(it.item()); + if (isBulletRigidBodySolverNode(DagPath)) + { + MStatus status; + MPlug plug = MFnDependencyNode(DagPath.node()).findPlug(MString(COLLADASW::CSWC::CSW_ELEMENT_GRAVITY.c_str()), &status); + if (status == MStatus::kSuccess) + if (plug.isCompound() && plug.numChildren() >= 3) + { + status = plug.child(0).getValue(PhysicsExporter::gravityField.x); + status = plug.child(1).getValue(PhysicsExporter::gravityField.y); + status = plug.child(2).getValue(PhysicsExporter::gravityField.z); + } + } + + it.next(); + } + } + + static void searchAndUpdate(SceneElement* sceneElement, MDagPath& ChildPath, bool result, bool needExport) + { + + if (sceneElement->getType() == SceneElement::TRANSFORM && sceneElement->getPath() == ChildPath) + { + if (!result) + sceneElement->setIsPhysicsNode(true); + else + { + if (needExport) + sceneElement->setIsPhysicsNode(false); + else + sceneElement->setIsPhysicsNode(true); + } + } + + for (uint i = 0; i < sceneElement->getChildCount(); ++i) + { + SceneElement* childElement = sceneElement->getChild(i); + searchAndUpdate(childElement, ChildPath, result, needExport); + } + } + + + void PhysicsExporter::UpdateSceneElement(MObject& child, bool result, bool needExport) + { + MDagPath ChildPath = MDagPath::getAPathTo(child); + + SceneGraph* sceneGraph = mDocumentExporter->getSceneGraph(); + SceneElementsList* exportNodesTree = sceneGraph->getExportNodesTree(); + + for (std::vector::iterator it = exportNodesTree->begin(); it != exportNodesTree->end(); ++it) + { + String childDagPath = (*it)->getPath().fullPathName().asChar(); + SceneElement* sceneElement = (*it); + searchAndUpdate(sceneElement, ChildPath, result, needExport); + } + } + + // -------------------------------------------------------- + bool PhysicsExporter::exportPhysicsModel( + SceneElement* sceneElement) + { + MDagPath dagPath = sceneElement->getPath(); + const String& colladaMeshId = generateColladaRigidBodyId(dagPath, sceneElement->getIsLocal()); + String meshName = mDocumentExporter->dagPathToColladaName(dagPath); + + // Opens the mesh tag in the collada document + MFnDagNode DagNode(dagPath.node()); + MObject parent = DagNode.parent(0); + MFnDagNode fnParent(parent); + MString parentName = fnParent.name(); + if (sceneElement->getIsLocal()) + { + if (firstimeOpenPhysModel) + { + openPhysicsModel(PHYSICS_MODEL_ID, ""); + firstimeOpenPhysModel = false; + } + + openRigidBody(colladaMeshId, ""); + openTechniqueCommon(); + + // Get BodyType + int type; + DagHelper::getPlugValue(dagPath.node(), ATTR_BODY_TYPE, type); + + enum bodytype + { + Static, + Kinematic, + Dynamic + }; + + if (type == Kinematic || type == Dynamic) + addDynamic(true); + else if (type == Static) + addDynamic(false); + + + //Get Mass + float mass; + MObject node = dagPath.node(); + + if (isBulletRigidBodyNode(dagPath)) + { + DagHelper::getPlugValue(node, ATTR_MASS, mass); + addMass(mass); + } + + + //Get Inertia + MVector inertia(1, 1, 1); + //DagHelper::getPlugValue(dagPath.node(), ATTR_INERTIA, inertia); + addInertia(inertia.x, inertia.y, inertia.z); + } + + for (int i = 0; i < DagNode.parentCount(); ++i) + { + // Parent 1 level upper + MObject parent = DagNode.parent(i); + MFnDagNode fnParent(parent); + MDagPath parentDagPath; + fnParent.getPath(parentDagPath); + String parentId = mDocumentExporter->dagPathToColladaId(parentDagPath); + + bool needExportParent = false; + bool resultParent = DagHelper::getPlugValue(parent, ATTR_COLLISION_EXPORT_NODE, needExportParent); + UpdateSceneElement(parent, resultParent, needExportParent); + + // Parent 2 level upper + MObject parent2 = fnParent.parent(0); + MFnDagNode fnParent2(parent2); + MDagPath parent2DagPath; + fnParent2.getPath(parent2DagPath); + String parent2Id = mDocumentExporter->dagPathToColladaId(parent2DagPath); + + // Search for Solver, Gravity Field + getGravityField(); + + + MTransformationMatrix mGraphicShapeTransformMatrix; + if (!needExportParent) + { + MDagPath path; + fnParent2.getPath(path); + mGraphicShapeTransformMatrix = MTransformationMatrix(path.inclusiveMatrix()); + } + else + { + mGraphicShapeTransformMatrix = MTransformationMatrix(dagPath.inclusiveMatrix()); + } + + + for (int i = 0; i < fnParent.childCount(); ++i) + { + MObject child = fnParent.child(i); + MFnDagNode fnChild(child); + MString childName = fnChild.name(); + MDagPath ChildPath = MDagPath::getAPathTo(child); + String childDagPath = ChildPath.fullPathName().asChar(); + + UpdateSceneElement(child, resultParent, needExportParent); + + if (isBulletRigidBodyNode(ChildPath)) + { + MFnDagNode fnChild(child); + MString childName; + childName = fnChild.name(); + const String& colladaBodyId = generateColladaRigidBodyId(ChildPath, sceneElement->getIsLocal()); + + BodyTarget bodyTarget; + bodyTarget.Body = colladaBodyId; + + if (!needExportParent) + bodyTarget.Target = String("#") + parent2Id; + else + bodyTarget.Target = String("#") + parentId; + + String filename = GetRigidBodyReferenceFilename(sceneElement); + + DaeToIRBMap::iterator it = mInstanceRigidBodies.find(filename); + if (it == mInstanceRigidBodies.end()) { + mInstanceRigidBodies[filename] = std::vector(); + } + + mInstanceRigidBodies[filename].push_back(bodyTarget); + } + else if (sceneElement->getIsLocal()) + { + mTransformObject = ChildPath.transform(); + MTransformationMatrix mPhysicsShapeTransformMatrix(ChildPath.inclusiveMatrix()); + createShape(ChildPath, mPhysicsShapeTransformMatrix, mGraphicShapeTransformMatrix); + } + } + } + + if (sceneElement->getIsLocal()) + { + closeTechniqueCommon(); + closeRigidBody(); + } + + return true; + } + + // -------------------------------------------------- + void PhysicsExporter::endExport() + { + closeLibrary(); + } + + // ------------------------------------------------------------------------ + String PhysicsExporter::GetRigidBodyReferenceFilename(const SceneElement* pSceneElement) + { + if (pSceneElement->getIsLocal()) { + return ""; + } + + MString mayaReferenceFilename = ReferenceManager::getReferenceFilename(pSceneElement->getPath()); + String referenceFilename = mayaReferenceFilename.asChar(); + + // Replace .mb by .dae + String::size_type dotPos = referenceFilename.rfind('.'); + if (dotPos != String::npos) { + referenceFilename.resize(dotPos); + referenceFilename.append(".dae"); + } + + MString exportedFile = MFileIO::currentFile(); + + // Make referenced file path relative to exported file directory + COLLADASW::URI exportedFileURI = exportedFile.asChar(); + COLLADASW::URI exportedFileDirURI = exportedFileURI.getPathDir(); + exportedFileDirURI.setScheme(exportedFileURI.getScheme()); + COLLADASW::URI referencedFileURI = referenceFilename; + + if (ExportOptions::relativePaths()) + { + referencedFileURI.makeRelativeTo(exportedFileDirURI); + } + + return referencedFileURI.getURIString(); + } + + // ------------------------------------ + const String& PhysicsExporter::findColladaPhysicsId ( const String& mayaMeshId ) + { + const StringToStringMap::const_iterator it = mMayaIdColladaIdMap.find ( mayaMeshId ); + if ( it != mMayaIdColladaIdMap.end () ) + { + return it->second; + } + return EMPTY_STRING; + } +} \ No newline at end of file diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsSceneExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsSceneExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsSceneExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysicsSceneExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,110 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADAMayaPhysicsSceneExporter.h" +#include "COLLADAMayaGeometryExporter.h" +#include "COLLADAMayaDagHelper.h" +#include "COLLADAMayaSyntax.h" +#include "COLLADAMayaExportOptions.h" + +#include +#include + +#include "COLLADASWNode.h" +#include "COLLADASWInstanceRigidBody.h" +#include "COLLADASWLibraryPhysicsScenes.h" +#include "COLLADASWConstants.h" + +#include "Math/COLLADABUMathUtils.h" + +#include "assert.h" + +#include "COLLADAMayaPhysicsExporter.h" +#include "COLLADASWInstancePhysicsModel.h" +#include "COLLADAMayaSyntax.h" + +namespace COLLADAMaya +{ + + const String physicsModelUrl("#" + String(PHYSICS_MODEL_ID)); + const String physicsWorldReferenceUrl("#" + String(PHYSICS_WORLD_REFERENCE)); + + //--------------------------------------------------------------- + PhysicsSceneExporter::PhysicsSceneExporter ( + COLLADASW::StreamWriter* streamWriter, + DocumentExporter* documentExporter, + const String& sceneId ) + : COLLADASW::LibraryPhysicsScenes(streamWriter) + , mDocumentExporter ( documentExporter ) + , mSceneId ( sceneId ) + { + } + + bool PhysicsSceneExporter::exportPhysicsScenes() + { + if ( !ExportOptions::exportPhysics() ) return false; + + PhysicsExporter* pPhysicsExporter = mDocumentExporter->getPhysicsExporter(); + const PhysicsExporter::DaeToIRBMap & instanceRigidBodies = pPhysicsExporter->getInstanceRigidBodies(); + + + if (instanceRigidBodies.empty()) + return false; + + // Get the streamWriter from the export document + COLLADASW::StreamWriter* streamWriter = mDocumentExporter->getStreamWriter(); + + COLLADASW::LibraryPhysicsScenes libraryPhysicsScene(streamWriter); + + + //physics_scene tag + libraryPhysicsScene.openPhysicsScene(PHYSICS_SCENE_NODE_ID); + + for (PhysicsExporter::DaeToIRBMap::const_iterator iMap = instanceRigidBodies.begin(); iMap != instanceRigidBodies.end(); ++iMap) + { + COLLADASW::InstancePhysicsModel instancePhysicsModel(streamWriter, iMap->first + physicsModelUrl); + instancePhysicsModel.openInstancePhysicsModel(); + + for (std::vector::const_iterator iVec = iMap->second.begin(); iVec != iMap->second.end(); ++iVec) + { + // Don't export bodies linked to world + if ((*iVec).Target.compare(physicsWorldReferenceUrl)) + { + COLLADASW::InstanceRigidBody instanceRigidBody(streamWriter, (*iVec).Body, (*iVec).Target); + instanceRigidBody.openInstanceRigidBody(); + instanceRigidBody.closeInstanceRigidBody(); + } + } + + instancePhysicsModel.closeInstancePhysicsModel(); + } + + // Technique common gravity + libraryPhysicsScene.openTechniqueCommon(); + + libraryPhysicsScene.addGravity(PhysicsExporter::gravityField.x , PhysicsExporter::gravityField.y, PhysicsExporter::gravityField.z); + libraryPhysicsScene.closeTechniqueCommon(); + + libraryPhysicsScene.closePhysicsScene(); + + //close library_physics_scene tag + libraryPhysicsScene.closeLibraryPhysicsScene(); + + return true; + } + +} diff -Nru opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysXExporter.cpp opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysXExporter.cpp --- opencollada-0.1.0~20140703.ddf8f47+dfsg1/COLLADAMaya/src/COLLADAMayaPhysXExporter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ opencollada-0.1.0~20160714.0ec5063+dfsg1/COLLADAMaya/src/COLLADAMayaPhysXExporter.cpp 2016-07-13 19:25:45.000000000 +0000 @@ -0,0 +1,4059 @@ +/* + Copyright (c) 2015 Starbreeze + + This file is part of COLLADAMaya. + + Portions of the code are: + Copyright (c) 2005-2007 Feeling Software Inc. + Copyright (c) 2005-2007 Sony Computer Entertainment America + Copyright (c) 2004-2005 Alias Systems Corp. + + Licensed under the MIT Open Source License, + for details please see LICENSE file or the website + http://www.opensource.org/licenses/mit-license.php +*/ + +#include "COLLADAMayaStableHeaders.h" + +#include "COLLADAMayaAttributeParser.h" +#include "COLLADAMayaDagHelper.h" +#include "COLLADAMayaExportOptions.h" +#include "COLLADAMayaGeometryExporter.h" +#include "COLLADAMayaPhysXExporter.h" +#include "COLLADAMayaRotateHelper.h" +#include "COLLADAMayaSceneGraph.h" +#include "COLLADAMayaSyntax.h" +#include "COLLADAMayaVisualSceneExporter.h" +#include "COLLADASWConstants.h" +#include "Math/COLLADABUMathUtils.h" + +#include +#include +#include +#include +#define MNoPluginEntry +#define MNoVersionString +#include +#include +#include +#include + +double infinite() +{ + union ieee754 { + int64_t i; + double d; + }; + ieee754 inf; + inf.i = 0x7FF0000000000000; + return inf.d; +} + +bool isInf(double d) +{ + return + d == infinite() || + d == -infinite(); +} + +using namespace COLLADASW; + +// Note: +// Maya matrix: row major vectors, T1 x T2 x T3... +// DAE matrix/transforms: column major vectors, ...T3 x T2 x T1 +// -> reverse order + +namespace COLLADAMaya +{ + // Helper class used to open and auto close an element. + class Element + { + public: + Element(PhysXExporter& exporter, const String & name) + : mPhysXExporter(exporter) + { + mPhysXExporter.getStreamWriter().openElement(name); + } + + virtual ~Element() + { + mPhysXExporter.getStreamWriter().closeElement(); + } + + protected: + StreamWriter& getStreamWriter() + { + return mPhysXExporter.getStreamWriter(); + } + + DocumentExporter& getDocumentExporter() + { + return mPhysXExporter.getDocumentExporter(); + } + + PhysXExporter& getPhysXExporter() + { + return mPhysXExporter; + } + + private: + PhysXExporter& mPhysXExporter; + }; + + class AttributeExporter : public AttributeParser + { + public: + AttributeExporter(PhysXExporter& exporter, const std::set & attributes) + : mPhysXExporter(exporter) + , mAttributes(attributes) + {} + + protected: + virtual bool onBeforeAttribute(MFnDependencyNode & node, MObject & attr) override + { + MStatus status; + MFnAttribute fnAttr(attr, &status); + if (!status) return false; + + MString attrName = fnAttr.name(&status); + if (!status) return false; + + std::set::const_iterator it = mAttributes.find(attrName); + if (it == mAttributes.end()) { + return false; + } + + return true; + } + + virtual void onBoolean(MPlug & plug, const MString & name, bool value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value); + } + + virtual void onByte(MPlug & plug, const MString & name, char value) override + { + String nameStr(name.asChar()); + const size_t size = 5; + char text[size]; + snprintf(text, size, "0x%X", value); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(text); + } + + virtual void onChar(MPlug & plug, const MString & name, char value) override + { + String nameStr(name.asChar()); + char text[] = { value, '\0' }; + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(text); + } + + virtual void onShort(MPlug & plug, const MString & name, short value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value); + } + + virtual void onShort2(MPlug & plug, const MString & name, short value[2]) override + { + String nameStr(name.asChar()); + int values[3] = { value[0], value[1] }; + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(values, 2); + } + + virtual void onShort3(MPlug & plug, const MString & name, short value[3]) override + { + + String nameStr(name.asChar()); + int values[3] = { value[0], value[1], value[2] }; + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(values, 3); + } + + virtual void onInteger(MPlug & plug, const MString & name, int value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value); + } + + virtual void onInteger2(MPlug & plug, const MString & name, int value[2]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 2); + } + + virtual void onInteger3(MPlug & plug, const MString & name, int value[3]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 3); + } + + virtual void onFloat(MPlug & plug, const MString & name, float value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value); + } + + virtual void onFloat2(MPlug & plug, const MString & name, float value[2]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 2); + } + + virtual void onFloat3(MPlug & plug, const MString & name, float value[3]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 3); + } + + virtual void onDouble(MPlug & plug, const MString & name, double value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value); + } + + virtual void onDouble2(MPlug & plug, const MString & name, double value[2]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 2); + } + + virtual void onDouble3(MPlug & plug, const MString & name, double value[3]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 3); + } + + virtual void onDouble4(MPlug & plug, const MString & name, double value[4]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(value, 4); + } + + virtual void onString(MPlug & plug, const MString & name, const MString & value) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendText(value.asChar()); + } + + virtual void onEnum(MPlug & plug, const MString & name, int enumValue, const MString & enumName) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendText(enumName.asChar()); + } + + virtual void onMesh(MPlug & plug, const MString & name, MObject & meshObject) override + { + String nameStr(name.asChar()); + URI meshURI; + mPhysXExporter.getMeshURI(meshObject, meshURI); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_URL, meshURI); + } + + virtual void onAngle(MPlug & plug, const MString & name, const MAngle & angle) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + angle.asDegrees()); + } + + virtual void onAngle2(MPlug & plug, const MString & name, const MAngle angle[2]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + angle[0].asDegrees(), + angle[1].asDegrees()); + } + + virtual void onAngle3(MPlug & plug, const MString & name, const MAngle angle[3]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + angle[0].asDegrees(), + angle[1].asDegrees(), + angle[2].asDegrees()); + } + + virtual void onAngle4(MPlug & plug, const MString & name, const MAngle angle[4]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + angle[0].asDegrees(), + angle[1].asDegrees(), + angle[2].asDegrees(), + angle[3].asDegrees()); + } + + virtual void onDistance(MPlug & plug, const MString & name, const MDistance & distance) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + MDistance::internalToUI(distance.asCentimeters())); + } + + virtual void onDistance2(MPlug & plug, const MString & name, const MDistance distance[2]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + MDistance::internalToUI(distance[0].asCentimeters()), + MDistance::internalToUI(distance[1].asCentimeters())); + } + + virtual void onDistance3(MPlug & plug, const MString & name, const MDistance distance[3]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + MDistance::internalToUI(distance[0].asCentimeters()), + MDistance::internalToUI(distance[1].asCentimeters()), + MDistance::internalToUI(distance[2].asCentimeters())); + } + + virtual void onDistance4(MPlug & plug, const MString & name, const MDistance distance[4]) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues( + MDistance::internalToUI(distance[0].asCentimeters()), + MDistance::internalToUI(distance[1].asCentimeters()), + MDistance::internalToUI(distance[2].asCentimeters()), + MDistance::internalToUI(distance[3].asCentimeters())); + } + + virtual void onTime(MPlug & plug, const MString & name, MTime & time) override + { + String nameStr(name.asChar()); + Element e(mPhysXExporter, nameStr); + mPhysXExporter.getStreamWriter().appendValues(time.as(MTime::kSeconds)); + } + + private: + PhysXExporter& mPhysXExporter; + const std::set& mAttributes; + int mAttributeLevel; + }; + + void PhysXRigidConstraint::GetSwingConeAndTwistMinLimit(const MObject & rigidConstraint, MVector & min) + { + int dummy = 0; + MString motionSwingY; + MString motionSwingZ; + MString motionTwist; + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_SWING_Y, dummy, motionSwingY); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_SWING_Z, dummy, motionSwingZ); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_TWIST, dummy, motionTwist); + + if (motionSwingY == LOCKED) { + min.x = 0.0; + } + else if (motionSwingY == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_SWING_1_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + min.x = -limit; + } + else if (motionSwingY == FREE) { + min.x = -infinite(); + } + + if (motionSwingZ == LOCKED) { + min.y = 0.0; + } + else if (motionSwingZ == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_SWING_2_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + min.y = -limit; + } + else if (motionSwingZ == FREE) { + min.y = -infinite(); + } + + if (motionTwist == LOCKED) { + min.z = 0.0; + } + else if (motionTwist == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_TWIST_LOW_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + min.z = limit; + } + else if (motionTwist == FREE) { + min.z = -infinite(); + } + } + + void PhysXRigidConstraint::GetSwingConeAndTwistMaxLimit(const MObject & rigidConstraint, MVector & max) + { + int dummy = 0; + MString motionSwingY; + MString motionSwingZ; + MString motionTwist; + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_SWING_Y, dummy, motionSwingY); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_SWING_Z, dummy, motionSwingZ); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_TWIST, dummy, motionTwist); + + if (motionSwingY == LOCKED) { + max.x = 0.0; + } + else if (motionSwingY == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_SWING_1_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + max.x = limit; + } + else if (motionSwingY == FREE) { + max.x = infinite(); + } + + if (motionSwingZ == LOCKED) { + max.y = 0.0; + } + else if (motionSwingZ == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_SWING_2_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + max.y = limit; + } + else if (motionSwingZ == FREE) { + max.y = infinite(); + } + + if (motionTwist == LOCKED) { + max.z = 0.0; + } + else if (motionTwist == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_TWIST_HIGH_LIMIT_VALUE, limit); + limit = COLLADABU::Math::Utils::radToDeg(limit); + max.z = limit; + } + else if (motionTwist == FREE) { + max.z = infinite(); + } + } + + void PhysXRigidConstraint::GetLinearMinLimit(const MObject & rigidConstraint, MVector & min) + { + int dummy = 0; + MString motionX; + MString motionY; + MString motionZ; + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_X, dummy, motionX); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_Y, dummy, motionY); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_Z, dummy, motionZ); + + if (motionX == LOCKED) { + min.x = 0.0; + } + else if (motionX == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + min.x = -limit; + } + else if (motionX == FREE) { + min.x = -infinite(); + } + + if (motionY == LOCKED) { + min.y = 0.0; + } + else if (motionY == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + min.y = -limit; + } + else if (motionY == FREE) { + min.y = -infinite(); + } + + if (motionZ == LOCKED) { + min.z = 0.0; + } + else if (motionZ == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + min.z = -limit; + } + else if (motionZ == FREE) { + min.z = -infinite(); + } + } + + void PhysXRigidConstraint::GetLinearMaxLimit(const MObject & rigidConstraint, MVector & max) + { + int dummy = 0; + MString motionX; + MString motionY; + MString motionZ; + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_X, dummy, motionX); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_Y, dummy, motionY); + DagHelper::getPlugValue(rigidConstraint, ATTR_MOTION_Z, dummy, motionZ); + + if (motionX == LOCKED) { + max.x = 0.0; + } + else if (motionX == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + max.x = limit; + } + else if (motionX == FREE) { + max.x = infinite(); + } + + if (motionY == LOCKED) { + max.y = 0.0; + } + else if (motionY == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + max.y = limit; + } + else if (motionY == FREE) { + max.y = infinite(); + } + + if (motionZ == LOCKED) { + max.z = 0.0; + } + else if (motionZ == LIMITED) { + double limit = 0.0; + DagHelper::getPlugValue(rigidConstraint, ATTR_LINEAR_LIMIT_VALUE, limit); + limit = MDistance::internalToUI(limit); + max.z = limit; + } + else if (motionZ == FREE) { + max.z = infinite(); + } + } + + void PhysXRigidConstraint::GetSpringAngularStiffness(const MObject & rigidConstraint, double & stiffness) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_DRIVE_SPRING_SWING, stiffness); + stiffness = COLLADABU::Math::Utils::radToDeg(stiffness); + } + + void PhysXRigidConstraint::GetSpringAngularDamping(const MObject & rigidConstraint, double & damping) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_DRIVE_DAMPING_SWING, damping); + damping = COLLADABU::Math::Utils::radToDeg(damping); + } + + void PhysXRigidConstraint::GetSpringAngularTargetValue(const MObject & rigidConstraint, double & targetValue) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_GOAL_ORIENTATION_X, targetValue); + targetValue = COLLADABU::Math::Utils::radToDeg(targetValue); + } + + void PhysXRigidConstraint::GetSpringLinearStiffness(const MObject & rigidConstraint, double & stiffness) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_DRIVE_SPRING_X, stiffness); + } + + void PhysXRigidConstraint::GetSpringLinearDamping(const MObject & rigidConstraint, double & damping) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_DRIVE_DAMPING_X, damping); + } + + void PhysXRigidConstraint::GetSpringLinearTargetValue(const MObject & rigidConstraint, double & targetValue) + { + DagHelper::getPlugValue(rigidConstraint, ATTR_GOAL_POSITION_X, targetValue); + targetValue = MDistance::internalToUI(targetValue); + } + + void PhysXShape::GetType(const MObject & shape, MString & type) + { + int dummy = 0; + DagHelper::getPlugValue(shape, ATTR_SHAPE_TYPE, dummy, type); + } + + void PhysXShape::GetInMesh(const MObject & shape, MObject & mesh) + { + DagHelper::getPlugValue(shape, ATTR_IN_MESH, mesh); + } + + void PhysXShape::GetConnectedInMesh(const MObject & shape, MObject & mesh) + { + PhysXExporter::GetPluggedObject(shape, ATTR_IN_MESH, mesh); + } + + PhysXXML::PxMaterial* PhysXExporter::findPxMaterial(const MObject& rigidBody) + { + int dummy = 0; + MString simulationType; + DagHelper::getPlugValue(rigidBody, ATTR_SIMULATION_TYPE, dummy, simulationType); + + PhysXXML::GlobalPose* pGlobalPose = NULL; + + if (simulationType == SIMULATION_TYPE_STATIC) { + PhysXXML::PxRigidStatic* pxRigidStatic = findPxRigidStatic(rigidBody); + if (pxRigidStatic && pxRigidStatic->shapes.shapes.size() > 0) { + // All shapes in a rigid body have the same material + return findPxMaterial(pxRigidStatic->shapes.shapes[0].materials.materialRef.materialRef); + } + } + else { + PhysXXML::PxRigidDynamic* pxRigidDynamic = findPxRigidDynamic(rigidBody); + if (pxRigidDynamic && pxRigidDynamic->shapes.shapes.size() > 0) { + // All shapes in a rigid body have the same material + return findPxMaterial(pxRigidDynamic->shapes.shapes[0].materials.materialRef.materialRef); + } + } + return NULL; + } + + PhysXXML::PxMaterial* PhysXExporter::findPxMaterial(uint64_t ref) + { + return mPhysXDoc->findMaterial(ref); + } + + PhysXXML::PxShape* PhysXExporter::findPxShape(const MObject& rigidBody, const MObject& shape) + { + // Shape node + MFnDagNode shapeNode(shape); + MString shapeName = shapeNode.fullPathName(); + + // Rigid body target + MObject target; + getRigidBodyTarget(rigidBody, target); + MFnDagNode targetNode(target); + MString targetName = targetNode.fullPathName(); + + return mPhysXDoc->findShape(targetName.asChar(), shapeName.asChar()); + } + + PhysXXML::PxRigidStatic* PhysXExporter::findPxRigidStatic(uint64_t id) + { + return mPhysXDoc->findRigidStatic(id); + } + + PhysXXML::PxRigidStatic* PhysXExporter::findPxRigidStatic(const MObject& rigidBody) + { + MObject target; + getRigidBodyTarget(rigidBody, target); + MFnDagNode targetNode(target); + MString targetName = targetNode.fullPathName(); + return findPxRigidStatic(targetName.asChar()); + } + + PhysXXML::PxRigidStatic* PhysXExporter::findPxRigidStatic(const String& name) + { + return mPhysXDoc->findRigidStatic(name); + } + + PhysXXML::PxRigidDynamic* PhysXExporter::findPxRigidDynamic(uint64_t id) + { + return mPhysXDoc->findRigidDynamic(id); + } + + PhysXXML::PxRigidDynamic* PhysXExporter::findPxRigidDynamic(const MObject& rigidBody) + { + MObject target; + getRigidBodyTarget(rigidBody, target); + MFnDagNode targetNode(target); + MString targetName = targetNode.fullPathName(); + return mPhysXDoc->findRigidDynamic(targetName.asChar()); + } + + PhysXXML::PxD6Joint* PhysXExporter::findPxD6Joint(const MObject& rigidConstraint) + { + MFnDagNode constraintNode(rigidConstraint); + MString constraintName = constraintNode.fullPathName(); + return mPhysXDoc->findD6Joint(constraintName.asChar()); + } + + MObject PhysXExporter::getNodeRigidBody(const MObject& node) + { + if (node.isNull()) + return MObject::kNullObj; + + class RigidBodyParser + { + public: + RigidBodyParser(PhysXExporter & exporter, const MObject & node) + : mPhysXExporter(exporter) + , mNode(node) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_BODY && + element.getIsLocal()) + { + const MObject & rigidBody = element.getNode(); + + MObject target; + mPhysXExporter.getRigidBodyTarget(rigidBody, target); + + if (target == mNode) + { + mRigidBody = rigidBody; + return false; + } + } + return true; + } + + const MObject & getRigidBody() const + { + return mRigidBody; + } + + private: + PhysXExporter & mPhysXExporter; + const MObject & mNode; + MObject mRigidBody; + }; + + RigidBodyParser parser(*this, node); + parseSceneElements(parser); + return parser.getRigidBody(); + } + + MObject PhysXExporter::getShapeRigidBody(const MObject& shape) + { + class FindShapeRigidBody + { + public: + FindShapeRigidBody(PhysXExporter & exporter, const MObject& shape) + : mPhysXExporter(exporter) + , mShape(shape) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_BODY && + element.getIsLocal()) + { + std::vector shapes; + PhysXExporter::GetRigidBodyShapes(element.getNode(), shapes); + + for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) + { + if (*it == mShape) + { + mRigidBody = element.getNode(); + // Stop parsing + return false; + } + } + } + return true; + } + + MObject getRigidBody() const + { + return mRigidBody; + } + + private: + PhysXExporter & mPhysXExporter; + MObject mShape; + MObject mRigidBody; + }; + + FindShapeRigidBody parser(*this, shape); + parseSceneElements(parser); + return parser.getRigidBody(); + } + + void PhysXExporter::getShapeLocalPose(const MObject& rigidBody, const MObject& shape, MMatrix& localPose) + { + PhysXXML::PxShape* pxShape = findPxShape(rigidBody, shape); + if (!pxShape) + return; + + MTransformationMatrix tm; + + tm.setRotationQuaternion( + pxShape->localPose.rotation.x, + pxShape->localPose.rotation.y, + pxShape->localPose.rotation.z, + pxShape->localPose.rotation.w); + + MVector translation( + MDistance::uiToInternal(pxShape->localPose.translation.x), + MDistance::uiToInternal(pxShape->localPose.translation.y), + MDistance::uiToInternal(pxShape->localPose.translation.z) + ); + + tm.setTranslation(translation, MSpace::kTransform); + + localPose = tm.asMatrix(); + } + + bool PhysXExporter::getShapeVertices(const MObject& shape, std::vector & vertices, MString & meshId) + { + MObject rigidBody = getShapeRigidBody(shape); + if (rigidBody.isNull()) return false; + + PhysXXML::PxShape* pxShape = findPxShape(rigidBody, shape); + if (pxShape == NULL) return false; + + if (pxShape->geometry.type == PhysXXML::Geometry::ConvexMesh) + { + if (PhysXXML::PxConvexMesh* convexMesh = mPhysXDoc->findConvexMesh(pxShape->geometry.convexMeshGeometry.convexMesh.convexMesh)) + { + vertices = convexMesh->points.points; + std::stringstream s; + s << convexMesh->id.id; + meshId = s.str().c_str(); + return true; + } + } + else if (pxShape->geometry.type == PhysXXML::Geometry::TriangleMesh) + { + if (PhysXXML::PxTriangleMesh* triangleMesh = mPhysXDoc->findTriangleMesh(pxShape->geometry.triangleMeshGeometry.triangleMesh.triangleMesh)) + { + vertices = triangleMesh->points.points; + std::stringstream s; + s << triangleMesh->id.id; + meshId = s.str().c_str(); + return true; + } + } + return false; + } + + bool PhysXExporter::getShapeTriangles(const MObject& shape, std::vector & triangles) + { + MObject rigidBody = getShapeRigidBody(shape); + if (rigidBody.isNull()) return false; + + PhysXXML::PxShape* pxShape = findPxShape(rigidBody, shape); + if (pxShape == NULL) return false; + + if (pxShape->geometry.type == PhysXXML::Geometry::TriangleMesh) + { + if (PhysXXML::PxTriangleMesh* triangleMesh = mPhysXDoc->findTriangleMesh(pxShape->geometry.triangleMeshGeometry.triangleMesh.triangleMesh)) + { + triangles = triangleMesh->triangles.triangles; + return true; + } + } + return false; + } + + void PhysXExporter::getRigidBodyGlobalPose(const MObject& rigidBody, MMatrix& globalPose) + { + int dummy = 0; + MString simulationType; + DagHelper::getPlugValue(rigidBody, ATTR_SIMULATION_TYPE, dummy, simulationType); + + PhysXXML::GlobalPose* pGlobalPose = NULL; + + if (simulationType == SIMULATION_TYPE_STATIC) { + PhysXXML::PxRigidStatic* pxRigidStatic = findPxRigidStatic(rigidBody); + if (pxRigidStatic) { + pGlobalPose = &pxRigidStatic->globalPose; + } + } + else { + PhysXXML::PxRigidDynamic* pxRigidDynamic = findPxRigidDynamic(rigidBody); + if (pxRigidDynamic) { + pGlobalPose = &pxRigidDynamic->globalPose; + } + } + + if (!pGlobalPose) + return; + + MTransformationMatrix tm; + + tm.setRotationQuaternion( + pGlobalPose->rotation.x, + pGlobalPose->rotation.y, + pGlobalPose->rotation.z, + pGlobalPose->rotation.w); + + MVector translation( + MDistance::uiToInternal(pGlobalPose->translation.x), + MDistance::uiToInternal(pGlobalPose->translation.y), + MDistance::uiToInternal(pGlobalPose->translation.z) + ); + + tm.setTranslation(translation, MSpace::kTransform); + + globalPose = tm.asMatrix(); + } + + void PhysXExporter::getRigidBodyTarget(const MObject& rigidBody, MObject& target) + { + target = MObject::kNullObj; + + PhysXExporter::GetPluggedObject(rigidBody, ATTR_TARGET, target); + + // If target is null then use rigidBody as target + if (target.isNull()) + { + target = rigidBody; + } + } + + bool PhysXExporter::getRigidSolver(MObject & rigidSolver) + { + class RigidSolverParser + { + public: + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_SOLVER && + element.getIsLocal()) + { + mRigidSolver = element.getNode(); + return false; + } + return true; + } + + const MObject & getRigidSolver() + { + return mRigidSolver; + } + + private: + MObject mRigidSolver; + } parser; + parseSceneElements(parser); + rigidSolver = parser.getRigidSolver(); + return !rigidSolver.isNull(); + } + + class Dynamic : public Element + { + public: + Dynamic(PhysXExporter& exporter, bool value) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_DYNAMIC) + { + getStreamWriter().appendValues(value); + } + }; + + class Mass : public Element + { + public: + Mass(PhysXExporter& exporter, double mass) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_MASS) + { + getStreamWriter().appendValues(mass); + } + }; + + class MassFrame : public Element + { + public: + MassFrame(PhysXExporter& exporter, const MVector & translation, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_MASS_FRAME) + { + getPhysXExporter().exportTranslation(translation, sid); + } + }; + + class Inertia : public Element + { + public: + Inertia(PhysXExporter& exporter, const MVector & inertia) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_INERTIA) + { + getStreamWriter().appendValues(inertia.x, inertia.y, inertia.z); + } + }; + + class Restitution : public Element + { + public: + Restitution(PhysXExporter& exporter, double restitution) + : Element(exporter, CSWC::CSW_ELEMENT_RESTITUTION) + { + getStreamWriter().appendValues(restitution); + } + }; + + class DynamicFriction : public Element + { + public: + DynamicFriction(PhysXExporter& exporter, double dynamicFriction) + : Element(exporter, CSWC::CSW_ELEMENT_DYNAMIC_FRICTION) + { + getStreamWriter().appendValues(dynamicFriction); + } + }; + + class StaticFriction : public Element + { + public: + StaticFriction(PhysXExporter& exporter, double staticFriction) + : Element(exporter, CSWC::CSW_ELEMENT_STATIC_FRICTION) + { + getStreamWriter().appendValues(staticFriction); + } + }; + + class PhysicsMaterialTechnique : public Element + { + public: + PhysicsMaterialTechnique(PhysXExporter& exporter, const MObject& rigidBody, const String& profile) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, profile); + if (profile == PhysXExporter::GetProfileXML()) { + exporter.exportMaterialPhysXXML(rigidBody); + } + } + }; + + class PhysicsMaterialExtra : public Element + { + public: + PhysicsMaterialExtra(PhysXExporter& exporter, const MObject& rigidBody) + : Element(exporter, CSWC::CSW_ELEMENT_EXTRA) + { + exportTechnique(rigidBody, PhysXExporter::GetProfileXML()); + } + + private: + void exportTechnique(const MObject& rigidBody, const String& profile) + { + PhysicsMaterialTechnique e(getPhysXExporter(), rigidBody, profile); + } + }; + + class PhysicsMaterialTechniqueCommon : public Element + { + public: + PhysicsMaterialTechniqueCommon(PhysXExporter& exporter, const MObject& rigidBody) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE_COMMON) + { + exportRestitution(rigidBody); + exportDynamicFriction(rigidBody); + exportStaticFriction(rigidBody); + } + + private: + void exportRestitution(const MObject & rigidBody) + { + double restitution = 0.0; + DagHelper::getPlugValue(rigidBody, ATTR_BOUNCINESS, restitution); + if (restitution != 0.0) + { + Restitution e(getPhysXExporter(), restitution); + } + } + + void exportDynamicFriction(const MObject & rigidBody) + { + double dynamicFriction = 0.0; + DagHelper::getPlugValue(rigidBody, ATTR_DYNAMIC_FRICTION, dynamicFriction); + if (dynamicFriction != 0.0) + { + DynamicFriction e(getPhysXExporter(), dynamicFriction); + } + } + + void exportStaticFriction(const MObject & rigidBody) + { + double staticFriction = 0.0; + DagHelper::getPlugValue(rigidBody, ATTR_STATIC_FRICTION, staticFriction); + if (staticFriction != 0.0) + { + StaticFriction e(getPhysXExporter(), staticFriction); + } + } + }; + + class PhysicsMaterial : public Element + { + public: + PhysicsMaterial(PhysXExporter& exporter, const MObject & rigidBody) + : Element(exporter, CSWC::CSW_ELEMENT_PHYSICS_MATERIAL) + { + MDagPath rigidBodyDagPath; + MDagPath::getAPathTo(rigidBody, rigidBodyDagPath); + + String rigidBodyId = getPhysXExporter().generateColladaId(rigidBodyDagPath); + String materialId = rigidBodyId + "_material"; + + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_ID, materialId); + + exportTechniqueCommon(rigidBody); + exportExtra(rigidBody); + } + + private: + void exportTechniqueCommon(const MObject& rigidBody) + { + PhysicsMaterialTechniqueCommon e(getPhysXExporter(), rigidBody); + } + + void exportExtra(const MObject& rigidBody) + { + PhysicsMaterialExtra e(getPhysXExporter(), rigidBody); + } + }; + + class Hollow : public Element + { + public: + Hollow(PhysXExporter& exporter, bool hollow) + : Element(exporter, CSWC::CSW_ELEMENT_HOLLOW) + { + getStreamWriter().appendValues(hollow); + } + }; + + class HalfExtents : public Element + { + public: + HalfExtents(PhysXExporter& exporter, const MVector & halfExtents) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_BOX_EXTENTS) + { + getStreamWriter().appendValues(halfExtents.x, halfExtents.y, halfExtents.z); + } + }; + + class ShapeBox : public Element + { + public: + ShapeBox(PhysXExporter& exporter, const MObject & shape) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_BOX) + { + exportHalfExtents(shape); + } + + private: + void exportHalfExtents(const MObject & shape) + { + double inflate = 0.0; + DagHelper::getPlugValue(shape, ATTR_INFLATE, inflate); + inflate = MDistance::internalToUI(inflate); + + MVector size; + DagHelper::getPlugValue(shape, ATTR_SIZE, size); + size.x = MDistance::internalToUI(size.x) + inflate * 2.0; + size.y = MDistance::internalToUI(size.y) + inflate * 2.0; + size.z = MDistance::internalToUI(size.z) + inflate * 2.0; + HalfExtents e(getPhysXExporter(), size / 2.0); + } + }; + + class CapsuleRadius : public Element + { + public: + CapsuleRadius(PhysXExporter& exporter, double radiusX, double radiusZ) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_CAPSULE_RADIUS) + { + getStreamWriter().appendValues(radiusX, radiusZ); + } + }; + + class SphereRadius : public Element + { + public: + SphereRadius(PhysXExporter& exporter, double radius) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_CAPSULE_RADIUS) + { + getStreamWriter().appendValues(radius); + } + }; + + class ShapeSphere : public Element + { + public: + ShapeSphere(PhysXExporter& exporter, const MObject & shape) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_SPHERE) + { + exportRadius(shape); + } + + private: + void exportRadius(const MObject & shape) + { + double inflate = 0.0; + DagHelper::getPlugValue(shape, ATTR_INFLATE, inflate); + inflate = MDistance::internalToUI(inflate); + + double radius; + DagHelper::getPlugValue(shape, ATTR_RADIUS, radius); + radius = MDistance::internalToUI(radius) + inflate; + SphereRadius e(getPhysXExporter(), radius); + } + }; + + class Height : public Element + { + public: + Height(PhysXExporter& exporter, double height) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_CAPSULE_HEIGHT) + { + getStreamWriter().appendValues(height); + } + }; + + class ShapeCapsule : public Element + { + public: + ShapeCapsule(PhysXExporter& exporter, const MObject & shape) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_CAPSULE) + { + exportRadius(shape); + exportHeight(shape); + } + + private: + void exportRadius(const MObject & shape) + { + double inflate = 0.0; + DagHelper::getPlugValue(shape, ATTR_INFLATE, inflate); + inflate = MDistance::internalToUI(inflate); + + double radius; + DagHelper::getPlugValue(shape, ATTR_RADIUS, radius); + radius = MDistance::internalToUI(radius) + inflate; + CapsuleRadius e(getPhysXExporter(), radius, radius); + } + + void exportHeight(const MObject & shape) + { + double height; + DagHelper::getPlugValue(shape, ATTR_HEIGHT, height); + height = MDistance::internalToUI(height); + Height e(getPhysXExporter(), height); + } + }; + + class InstanceGeometry : public Element + { + public: + InstanceGeometry(PhysXExporter& exporter, const URI & geometryURI) + : Element(exporter, CSWC::CSW_ELEMENT_INSTANCE_GEOMETRY) + { + getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_URL, geometryURI); + } + }; + + class Density : public Element + { + public: + Density(PhysXExporter& exporter, double density) + : Element(exporter, CSWC::CSW_ELEMENT_DENSITY) + { + getStreamWriter().appendValues(density); + } + }; + + class LocalPose : public Element + { + public: + LocalPose(PhysXExporter& exporter, const MQuaternion& rotation, const MVector& translation) + : Element(exporter, LOCAL_POSE) + { + double localPose[] = { rotation.x, rotation.y, rotation.z, rotation.w, translation.x, translation.y, translation.z }; + getStreamWriter().appendValues(localPose, sizeof(localPose) / sizeof(localPose[0])); + } + }; + + class ShapeTechnique : public Element + { + public: + ShapeTechnique(PhysXExporter& exporter, const MObject& rigidBody, const MObject& shape, const String & profile) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, profile); + //exportLocalPose(shape); + if (profile == PhysXExporter::GetProfile()) { + exporter.exportAttributes(shape, GetAttributes()); + } + else if (profile == PhysXExporter::GetProfileXML()) { + exporter.exportShapePhysXXML(rigidBody, shape); + } + else if (profile == PROFILE_MAYA) { + exporter.exportExtraAttributes(shape); + } + } + + private: + static const std::set& GetAttributes() + { + if (mAttributes.size() == 0) + { + // Attributes we want to export in section + mAttributes.insert(ATTR_SHAPE_TYPE); + mAttributes.insert(ATTR_SIZE); + mAttributes.insert(ATTR_RADIUS); + mAttributes.insert(ATTR_HEIGHT); + mAttributes.insert(ATTR_BEST_FIT); + mAttributes.insert(ATTR_OUT_PHYSICS_SHAPE); + mAttributes.insert(ATTR_CONNECT_TO_CLOTH_SPHERE); + mAttributes.insert(ATTR_INFLATE); + mAttributes.insert(ATTR_USE_MASS_OR_DENSITY); + mAttributes.insert(ATTR_MASS); + mAttributes.insert(ATTR_DENSITY); + } + return mAttributes; + } + + private: + static std::set mAttributes; + }; + std::set ShapeTechnique::mAttributes; + + class ShapeExtra : public Element + { + public: + ShapeExtra(PhysXExporter& exporter, const MObject& rigidBody, const MObject& shape) + : Element(exporter, CSWC::CSW_ELEMENT_EXTRA) + { + if (PhysXExporter::HasExtraAttributes(shape)) { + exportProfile(rigidBody, shape, PROFILE_MAYA); + } + exportProfile(rigidBody, shape, PhysXExporter::GetProfile()); + exportProfile(rigidBody, shape, PhysXExporter::GetProfileXML()); + } + + private: + void exportProfile(const MObject& rigidBody, const MObject& shape, const String& profile) + { + ShapeTechnique e(getPhysXExporter(), rigidBody, shape, profile); + } + }; + + class Shape : public Element + { + public: + Shape(PhysXExporter& exporter, const MObject& rigidBody, const MObject & shape) + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE) + { + exportHollow(shape); + + int dummy = 0; + MString useMassOrDensity; + DagHelper::getPlugValue(shape, ATTR_USE_MASS_OR_DENSITY, dummy, useMassOrDensity); + if (useMassOrDensity == USE_MASS_OR_DENSITY_MASS) + { + exportMass(shape); + } + else //if (useMassOrDensity == USE_MASS_OR_DENSITY_DENSITY) + { + exportDensity(shape); + } + + //no exported for shapes. Use rigid body's one. + + MString shapeType; + PhysXShape::GetType(shape, shapeType); + if (shapeType == SHAPE_TYPE_BOX) + { + exportBox(shape); + } + else if (shapeType == SHAPE_TYPE_SPHERE) + { + exportSphere(shape); + } + else if (shapeType == SHAPE_TYPE_CAPSULE) + { + exportCapsule(shape); + } + else if (shapeType == SHAPE_TYPE_CONVEX_HULL) + { + exportConvexHull(shape); + } + else if (shapeType == SHAPE_TYPE_TRIANGLE_MESH) + { + exportTriangleMesh(shape); + } + else if (shapeType == SHAPE_TYPE_CLOTH_SPHERES) + { + exportSphere(shape); + } + + exportRotateTranslate(rigidBody, shape); + exportExtra(rigidBody, shape); + } + + private: + void exportHollow(const MObject & shape) + { + //Hollow hollow(getPhysXExporter(), false); + } + + void exportMass(const MObject & shape) + { + double mass = 0.0; + DagHelper::getPlugValue(shape, ATTR_MASS, mass); + Mass e(getPhysXExporter(), mass); + } + + void exportDensity(const MObject & shape) + { + double density = 0.0; + DagHelper::getPlugValue(shape, ATTR_DENSITY, density); + Density e(getPhysXExporter(), density); + } + + void exportBox(const MObject & shape) + { + ShapeBox e(getPhysXExporter(), shape); + } + + void exportSphere(const MObject & shape) + { + ShapeSphere e(getPhysXExporter(), shape); + } + + void exportCapsule(const MObject & shape) + { + ShapeCapsule e(getPhysXExporter(), shape); + } + + void exportConvexHull(const MObject & shape) + { + // TODO PhysX: apply "inflate" attribute to convex hull geometry. + // Note: apply inflation like done for box shape. See ShapeBox::exportHalfExtents(). + // However "inflate" attribute is limited to [0; 0.839] for some unknown reason. + exportInstanceGeometry(shape, "_"); + } + + void exportTriangleMesh(const MObject & shape) + { + exportInstanceGeometry(shape); + } + + void exportInstanceGeometry(const MObject & shape, const String & URISuffix = "") + { + // Get geometry URI + MObject meshObject; + PhysXShape::GetConnectedInMesh(shape, meshObject); + + if (meshObject.isNull() || !ExportOptions::exportPolygonMeshes()) + { + // If connected mesh doesn't exist anymore then we use the PhysX shape internal geometry + // This should rarely happen but this is possible... + // Also use shape internal geometry if we don't export polygon meshes. + meshObject = shape; + } + + URI geometryURI; + getPhysXExporter().getMeshURI(meshObject, geometryURI); + if (URISuffix.length() > 0) { + geometryURI.setFragment(geometryURI.getFragment() + URISuffix); + } + InstanceGeometry e(getPhysXExporter(), geometryURI); + } + + void exportRotateTranslate(const MObject& rigidBody, const MObject & shape) + { + // Get shape local pose. + MMatrix localPose = MMatrix::identity; + getPhysXExporter().getShapeLocalPose(rigidBody, shape, localPose); + + // Rigidbody world pose + MMatrix globalPose = MMatrix::identity; + getPhysXExporter().getRigidBodyGlobalPose(rigidBody, globalPose); + + // Parent world pose + MObject parent; + MFnDagNode rigidBodyNode(rigidBody); + parent = rigidBodyNode.parent(0); + MDagPath parentDagPath; + MDagPath::getAPathTo(parent, parentDagPath); + MMatrix parentGlobalPose = parentDagPath.inclusiveMatrix(); + + MMatrix DAEShapeLocalPose = localPose * globalPose * parentGlobalPose.inverse(); + + int dummy = 0; + MString shapeType; + DagHelper::getPlugValue(shape, ATTR_SHAPE_TYPE, dummy, shapeType); + if (shapeType == SHAPE_TYPE_CAPSULE) { + // PhysX capsules are X axis oriented. COLLADA capsules are Y axis oriented. + MTransformationMatrix rotation; + rotation.rotateBy(MEulerRotation(0.0, 0.0, -M_PI / 2.0, MEulerRotation::kXYZ), MSpace::kTransform); + MMatrix rotationMatrix = rotation.asMatrix(); + DAEShapeLocalPose = DAEShapeLocalPose * rotationMatrix; + } + + MTransformationMatrix transform(DAEShapeLocalPose); + + MVector translation = transform.getTranslation(MSpace::kTransform); + MVector rotatePivotTranslation = transform.rotatePivotTranslation(MSpace::kTransform); + MPoint rotatePivot = transform.rotatePivot(MSpace::kTransform); + MEulerRotation rotation = transform.eulerRotation(); + rotation.order = static_cast(static_cast(transform.rotationOrder()) - MTransformationMatrix::kXYZ + MEulerRotation::kXYZ); + + getPhysXExporter().exportTranslation(translation, ATTR_TRANSLATE); + getPhysXExporter().exportTranslation(rotatePivotTranslation, ATTR_ROTATE_PIVOT_TRANSLATION); + getPhysXExporter().exportTranslation(rotatePivot, ATTR_ROTATE_PIVOT); + getPhysXExporter().exportRotation(rotation, ATTR_ROTATE); + getPhysXExporter().exportTranslation(rotatePivot * -1, ATTR_ROTATE_PIVOT_INVERSE); + } + + void exportExtra(const MObject& rigidBody, const MObject & shape) + { + ShapeExtra e(getPhysXExporter(), rigidBody, shape); + } + }; + + class Enabled : public Element + { + public: + Enabled(PhysXExporter& exporter, bool enabled) + : Element(exporter, CSWC::CSW_ELEMENT_ENABLED) + { + getStreamWriter().appendValues(enabled); + } + }; + + class Interpenetrate : public Element + { + public: + Interpenetrate(PhysXExporter& exporter, bool interpenetrate) + : Element(exporter, CSWC::CSW_ELEMENT_INTERPENETRATE) + { + getStreamWriter().appendValues(interpenetrate); + } + }; + + class Min : public Element + { + public: + Min(PhysXExporter& exporter, const MVector & min) + : Element(exporter, CSWC::CSW_ELEMENT_MIN) + { + for (uint i = 0; i < 3; ++i) + { + if (isInf(min(i))) { + getStreamWriter().appendValues("-INF"); + } + else { + getStreamWriter().appendValues(min(i)); + } + } + } + }; + + class Max : public Element + { + public: + Max(PhysXExporter& exporter, const MVector & max) + : Element(exporter, CSWC::CSW_ELEMENT_MAX) + { + for (uint i = 0; i < 3; ++i) + { + if (isInf(max(i))) { + getStreamWriter().appendValues("INF"); + } + else { + getStreamWriter().appendValues(max(i)); + } + } + } + }; + + class SwingConeAndTwist : public Element + { + public: + SwingConeAndTwist(PhysXExporter& exporter, + const MVector & min, + const MVector & max) + : Element(exporter, CSWC::CSW_ELEMENT_SWING_CONE_AND_TWIST) + { + exportMin(min); + exportMax(max); + } + + private: + void exportMin(const MVector & min) + { + if (min != MVector::zero) + { + Min e(getPhysXExporter(), min); + } + } + + void exportMax(const MVector & max) + { + if (max != MVector::zero) + { + Max e(getPhysXExporter(), max); + } + } + }; + + class LimitsLinear : public Element + { + public: + LimitsLinear(PhysXExporter& exporter, + const MVector & min, + const MVector & max) + : Element(exporter, CSWC::CSW_ELEMENT_LINEAR) + { + exportMin(min); + exportMax(max); + } + + private: + void exportMin(const MVector & min) + { + if (min != MVector::zero) + { + Min e(getPhysXExporter(), min); + } + } + + void exportMax(const MVector & max) + { + if (max != MVector::zero) + { + Max e(getPhysXExporter(), max); + } + } + }; + + class Limits : public Element + { + public: + Limits(PhysXExporter& exporter, + const MVector & swingConeAndTwistMin, + const MVector & swingConeAndTwistMax, + const MVector & linearMin, + const MVector & linearMax) + : Element(exporter, CSWC::CSW_ELEMENT_LIMITS) + { + exportSwingConeAndTwist(swingConeAndTwistMin, swingConeAndTwistMax); + exportLinear(linearMin, linearMax); + } + + private: + void exportSwingConeAndTwist( + const MVector & min, + const MVector & max) + { + if (min != MVector::zero || + max != MVector::zero) + { + SwingConeAndTwist e(getPhysXExporter(), min, max); + } + } + + void exportLinear( + const MVector & min, + const MVector & max) + { + if (min != MVector::zero || + max != MVector::zero) + { + LimitsLinear e(getPhysXExporter(), min, max); + } + } + }; + + class Stiffness : public Element + { + public: + Stiffness(PhysXExporter& exporter, double stiffness, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_STIFFNESS) + { + if (!sid.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + } + getStreamWriter().appendValues(stiffness); + } + }; + + class Damping : public Element + { + public: + Damping(PhysXExporter& exporter, double damping, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_DAMPING) + { + if (!sid.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + } + getStreamWriter().appendValues(damping); + } + }; + + class TargetValue : public Element + { + public: + TargetValue(PhysXExporter& exporter, double targetValue, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_TARGET_VALUE) + { + if (!sid.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + } + getStreamWriter().appendValues(targetValue); + } + }; + + class SpringLinear : public Element + { + public: + SpringLinear(PhysXExporter& exporter, + double stiffness, + double damping, + double targetValue) + : Element(exporter, CSWC::CSW_ELEMENT_LINEAR) + { + exportStiffness(stiffness); + exportDamping(damping); + exportTargetValue(targetValue); + } + + private: + void exportStiffness(double stiffness) + { + if (stiffness != 1.0) + { + Stiffness e(getPhysXExporter(), stiffness); + } + } + + void exportDamping(double damping) + { + if (damping != 0.0) + { + Damping e(getPhysXExporter(), damping); + } + } + + void exportTargetValue(double targetValue) + { + if (targetValue != 0.0) + { + TargetValue e(getPhysXExporter(), targetValue); + } + } + }; + + class Angular : public Element + { + public: + Angular(PhysXExporter& exporter, + double stiffness, + double damping, + double targetValue) + : Element(exporter, CSWC::CSW_ELEMENT_ANGULAR) + { + exportStiffness(stiffness); + exportDamping(damping); + exportTargetValue(targetValue); + } + + private: + void exportStiffness(double stiffness) + { + if (stiffness != 1.0) + { + Stiffness e(getPhysXExporter(), stiffness); + } + } + + void exportDamping(double damping) + { + if (damping != 0.0) + { + Damping e(getPhysXExporter(), damping); + } + } + + void exportTargetValue(double targetValue) + { + if (targetValue != 0.0) + { + TargetValue e(getPhysXExporter(), targetValue); + } + } + }; + + class Spring : public Element + { + public: + Spring(PhysXExporter& exporter, + double angularStiffness, + double angularDamping, + double angularTargetValue, + double linearStiffness, + double linearDamping, + double linearTargetValue) + : Element(exporter, CSWC::CSW_ELEMENT_SPRING) + { + exportAngular(angularStiffness, angularDamping, angularTargetValue); + exportLinear(linearStiffness, linearDamping, linearTargetValue); + } + + private: + void exportLinear( + double stiffness, + double damping, + double targetValue) + { + if (stiffness != 1.0 || + damping != 0.0 || + targetValue != 0.0) + { + SpringLinear e(getPhysXExporter(), stiffness, damping, targetValue); + } + } + + void exportAngular( + double stiffness, + double damping, + double targetValue) + { + if (stiffness != 1.0 || + damping != 0.0 || + targetValue != 0.0) + { + Angular e(getPhysXExporter(), stiffness, damping, targetValue); + } + } + }; + + class RigidBodyTechniqueCommon : public Element + { + public: + RigidBodyTechniqueCommon(PhysXExporter& exporter, const MObject & rigidBody) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE_COMMON) + { + exportDynamic(rigidBody); + exportMass(rigidBody); + exportMassFrame(rigidBody); + exportInertia(rigidBody); + exportPhysicsMaterial(rigidBody); + exportShapes(rigidBody); + } + + private: + void exportDynamic(const MObject & rigidBody) + { + int dummy = 0; + MString simulationType; + DagHelper::getPlugValue(rigidBody, ATTR_SIMULATION_TYPE, dummy, simulationType); + Dynamic e(getPhysXExporter(), simulationType != SIMULATION_TYPE_STATIC); + } + + void exportMass(const MObject & rigidBody) + { + double mass = getPhysXExporter().GetRigidBodyMass(rigidBody); + Mass e(getPhysXExporter(), mass); + } + + void exportMassFrame(const MObject & rigidBody) + { + int dummy = 0; + MString centerOfMassMode; + DagHelper::getPlugValue(rigidBody, ATTR_CENTER_OF_MASS_MODE, dummy, centerOfMassMode); + + MString overrideMassOrDensityStr; + DagHelper::getPlugValue(rigidBody, ATTR_OVERRIDE_MASS_OR_DENSITY, dummy, overrideMassOrDensityStr); + bool overrideMassOrDensity = overrideMassOrDensityStr != OVERRIDE_MASS_OR_DENSITY_DISABLED; + + MVector translation = MVector::zero; + if (centerOfMassMode == CENTER_OF_MASS_MODE_CALCULATE_FROM_SHAPES) + { + std::vector physicsShapes; + getPhysXExporter().GetRigidBodyShapes(rigidBody, physicsShapes); + + double totalFactor = 0.0; + for (size_t i = 0; i < physicsShapes.size(); ++i) + { + const MObject & shape = physicsShapes[i]; + MDagPath shapeDagPath; + MDagPath::getAPathTo(shape, shapeDagPath); + MFnTransform shapeTransform(shapeDagPath.transform()); + double shapeFactor = overrideMassOrDensity ? getPhysXExporter().GetShapeVolume(shape) : getPhysXExporter().GetShapeMass(shape); + translation += shapeTransform.getTranslation(MSpace::kObject) * shapeFactor; + totalFactor += shapeFactor; + } + if (totalFactor > 0.0) + { + translation /= totalFactor; + } + } + else //if (centerOfMassMode == CENTER_OF_MASS_MODE_MANUAL_OVERRIDE) + { + DagHelper::getPlugValue(rigidBody, ATTR_CENTER_OF_MASS_OVERRIDE, translation); + } + + if (translation != MVector::zero) + { + MassFrame e(getPhysXExporter(), translation, ATTR_TRANSLATE); + } + } + + void exportInertia(const MObject & rigidBody) + { + /* + Bounding box inertia matrix = + + m(b²+c²)/12 0 0 + 0 m(a²+c²)/12 0 + 0 0 m(a²+b²)/12 + + m -> mass + a, b, c -> edge lengths + */ + + MVector bb = MVector::zero; + DagHelper::getPlugValue(rigidBody, ATTR_BOUNDING_BOX_SIZE, bb); + + // Convert to DAE unit + bb.x = MDistance::internalToUI(bb.x); + bb.y = MDistance::internalToUI(bb.y); + bb.z = MDistance::internalToUI(bb.z); + + double mass = getPhysXExporter().GetRigidBodyMass(rigidBody); + + MVector inertiaMatrixDiagonal = MVector::zero; + inertiaMatrixDiagonal.x = mass * (bb.y * bb.y + bb.z * bb.z) / 12.0; + inertiaMatrixDiagonal.y = mass * (bb.x * bb.x + bb.z * bb.z) / 12.0; + inertiaMatrixDiagonal.z = mass * (bb.x * bb.x + bb.y * bb.y) / 12.0; + + Inertia e(getPhysXExporter(), inertiaMatrixDiagonal); + } + + void exportPhysicsMaterial(const MObject & rigidBody) + { + PhysicsMaterial e(getPhysXExporter(), rigidBody); + } + + void exportShapes(const MObject & rigidBody) + { + std::vector physicsShapes; + getPhysXExporter().GetRigidBodyShapes(rigidBody, physicsShapes); + + for (size_t i = 0; i < physicsShapes.size(); ++i) + { + const MObject & shape = physicsShapes[i]; + + Shape e(getPhysXExporter(), rigidBody, shape); + } + } + }; + + class RigidConstraintTechniqueCommon : public Element + { + public: + RigidConstraintTechniqueCommon(PhysXExporter& exporter, const MObject & rigidConstraint) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE_COMMON) + { + exportEnabled(rigidConstraint); + exportInterpenetrate(rigidConstraint); + exportLimits(rigidConstraint); + exportSpring(rigidConstraint); + } + + private: + void exportEnabled(const MObject & rigidConstraint) + { + bool isEnabled = true; + DagHelper::getPlugValue(rigidConstraint, ATTR_CONSTRAIN, isEnabled); + if (!isEnabled) + { + Enabled e(getPhysXExporter(), isEnabled); + } + } + + void exportInterpenetrate(const MObject & rigidConstraint) + { + bool interpenetrate = false; + DagHelper::getPlugValue(rigidConstraint, ATTR_INTERPENETRATE, interpenetrate); + if (interpenetrate) + { + Interpenetrate e(getPhysXExporter(), interpenetrate); + } + } + + void exportLimits(const MObject & rigidConstraint) + { + MVector swingConeAndTwistMin, swingConeAndTwistMax, linearMin, linearMax; + PhysXRigidConstraint::GetSwingConeAndTwistMinLimit(rigidConstraint, swingConeAndTwistMin); + PhysXRigidConstraint::GetSwingConeAndTwistMaxLimit(rigidConstraint, swingConeAndTwistMax); + PhysXRigidConstraint::GetLinearMinLimit(rigidConstraint, linearMin); + PhysXRigidConstraint::GetLinearMaxLimit(rigidConstraint, linearMax); + if (swingConeAndTwistMin != MVector::zero || + swingConeAndTwistMax != MVector::zero || + linearMin != MVector::zero || + linearMax != MVector::zero) + { + Limits e(getPhysXExporter(), + swingConeAndTwistMin, + swingConeAndTwistMax, + linearMin, + linearMax); + } + } + + void exportSpring(const MObject & rigidConstraint) + { + double linearStiffness = 1.0; + double linearDamping = 0.0; + double linearTargetValue = 0.0; + double angularStiffness = 1.0; + double angularDamping = 0.0; + double angularTargetValue = 0.0; + PhysXRigidConstraint::GetSpringLinearStiffness(rigidConstraint, linearStiffness); + PhysXRigidConstraint::GetSpringLinearDamping(rigidConstraint, linearDamping); + PhysXRigidConstraint::GetSpringLinearTargetValue(rigidConstraint, linearTargetValue); + PhysXRigidConstraint::GetSpringAngularStiffness(rigidConstraint, angularStiffness); + PhysXRigidConstraint::GetSpringAngularDamping(rigidConstraint, angularDamping); + PhysXRigidConstraint::GetSpringAngularTargetValue(rigidConstraint, angularTargetValue); + if (linearStiffness != 1.0 || + linearDamping != 0.0 || + linearTargetValue != 0.0 || + angularStiffness != 1.0 || + angularDamping != 0.0 || + angularTargetValue != 0.0) + { + Spring e(getPhysXExporter(), + angularStiffness, + angularDamping, + angularTargetValue, + linearStiffness, + linearDamping, + linearTargetValue); + } + } + }; + + class RigidBodyTechnique : public Element + { + public: + RigidBodyTechnique(PhysXExporter& exporter, const MObject & rigidBody, const String & profile) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, profile); + + if (profile == PhysXExporter::GetProfile()) { + exporter.exportAttributes(rigidBody, GetAttributes()); + } + else if (profile == PhysXExporter::GetProfileXML()) { + exporter.exportRigidBodyPhysXXML(rigidBody); + } + else if (profile == PROFILE_MAYA) { + exporter.exportExtraAttributes(rigidBody); + } + } + + private: + static const std::set& GetAttributes() + { + if (mAttributes.size() == 0) + { + // Attributes we want to export in section + mAttributes.insert(ATTR_SIMULATION_TYPE); + mAttributes.insert(ATTR_SWITCH_TO_DYNAMIC); + mAttributes.insert(ATTR_SWITCH_AT_FRAME); + mAttributes.insert(ATTR_ENABLE_GRAVITY); + mAttributes.insert(ATTR_FORCE_TO_SLEEP); + mAttributes.insert(ATTR_OVERRIDE_MASS_OR_DENSITY); + mAttributes.insert(ATTR_MASS); + mAttributes.insert(ATTR_DENSITY); + mAttributes.insert(ATTR_BOUNCINESS); + mAttributes.insert(ATTR_STATIC_FRICTION); + mAttributes.insert(ATTR_DYNAMIC_FRICTION); + mAttributes.insert(ATTR_OVERRIDE_GLOBAL_ITERATION_COUNT); + mAttributes.insert(ATTR_POSITION_ITERATION_COUNT); + mAttributes.insert(ATTR_VELOCITY_ITERATION_COUNT); + mAttributes.insert(ATTR_CONTACT_SHELL_OVERRIDE); + mAttributes.insert(ATTR_CONTACT_SHELL_DEPTH); + mAttributes.insert(ATTR_CONTACT_SHELL_OFFSET); + mAttributes.insert(ATTR_SLEEP_THRESHOLDS_OVERRIDE); + mAttributes.insert(ATTR_SLEEP_ENERGY_THRESHOLD); + mAttributes.insert(ATTR_LINEAR_DAMPING); + mAttributes.insert(ATTR_ANGULAR_DAMPING); + mAttributes.insert(ATTR_CENTER_OF_MASS_MODE); + mAttributes.insert(ATTR_CENTER_OF_MASS_OVERRIDE); + mAttributes.insert(ATTR_INITIAL_VELOCITY); + mAttributes.insert(ATTR_INITIAL_SPIN); + mAttributes.insert(ATTR_INITIAL_POSITION); + mAttributes.insert(ATTR_INITIAL_ORIENTATION); + mAttributes.insert(ATTR_ENABLE_CCD); + mAttributes.insert(ATTR_CCD_MOTION_THRESHOLD); + } + return mAttributes; + } + + private: + static std::set mAttributes; + }; + std::set RigidBodyTechnique::mAttributes; + + class RigidBodyExtra : public Element + { + public: + RigidBodyExtra(PhysXExporter& exporter, const MObject & rigidBody) + : Element(exporter, CSWC::CSW_ELEMENT_EXTRA) + { + if (PhysXExporter::HasExtraAttributes(rigidBody)) { + exportProfile(rigidBody, PROFILE_MAYA); + } + exportProfile(rigidBody, PhysXExporter::GetProfile()); + exportProfile(rigidBody, PhysXExporter::GetProfileXML()); + } + + private: + void exportProfile(const MObject& rigidBody, const String& profile) + { + RigidBodyTechnique e(getPhysXExporter(), rigidBody, profile); + } + }; + + class RigidBody : public Element + { + public: + RigidBody(PhysXExporter& exporter, const MObject & rigidBody, const String & sid, const String & name = "") + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_BODY) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + if (name.length() > 0) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_NAME, name); + } + + exportTechniqueCommon(rigidBody); + exportExtra(rigidBody); + } + + private: + void exportTechniqueCommon(const MObject & rigidBody) + { + RigidBodyTechniqueCommon e(getPhysXExporter(), rigidBody); + } + + void exportExtra(const MObject & rigidBody) + { + RigidBodyExtra e(getPhysXExporter(), rigidBody); + } + }; + + class RefAttachment : public Element + { + public: + RefAttachment(PhysXExporter& exporter, const MObject & rigidConstraint, const URI & rigidBodyURI) + : Element(exporter, CSWC::CSW_ELEMENT_REF_ATTACHMENT) + { + if (rigidBodyURI.isValid()) { + getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_RIGID_BODY, rigidBodyURI); + } + exportRotateTranslate(rigidConstraint); + } + + private: + void exportRotateTranslate(const MObject & rigidConstraint) + { + PhysXXML::PxD6Joint* pxJoint = getPhysXExporter().findPxD6Joint(rigidConstraint); + if (!pxJoint) + return; + + MVector translation = pxJoint->localPose.eActor0.translation; + MEulerRotation rotation; + rotation = pxJoint->localPose.eActor0.rotation; + + getPhysXExporter().exportTranslationWithoutConversion(translation, ATTR_TRANSLATE); + getPhysXExporter().exportRotation(rotation, ATTR_ROTATE); + } + }; + + class Attachment : public Element + { + public: + Attachment(PhysXExporter& exporter, const MObject & rigidConstraint, const URI & rigidBodyURI) + : Element(exporter, CSWC::CSW_ELEMENT_ATTACHMENT) + { + if (rigidBodyURI.isValid()) { + getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_RIGID_BODY, rigidBodyURI); + } + exportRotateTranslate(rigidConstraint); + } + + private: + void exportRotateTranslate(const MObject & rigidConstraint) + { + PhysXXML::PxD6Joint* pxJoint = getPhysXExporter().findPxD6Joint(rigidConstraint); + MVector translation = pxJoint->localPose.eActor1.translation; + MEulerRotation rotation; + rotation = pxJoint->localPose.eActor1.rotation; + + getPhysXExporter().exportTranslationWithoutConversion(translation, ATTR_TRANSLATE); + getPhysXExporter().exportRotation(rotation, ATTR_ROTATE); + } + }; + + class RigidConstraintTechnique : public Element + { + public: + RigidConstraintTechnique(PhysXExporter& exporter, const MObject & rigidConstraint, const String & profile) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, profile); + if (profile == PhysXExporter::GetProfile()) { + exporter.exportAttributes(rigidConstraint, GetAttributes()); + } + else if (profile == PhysXExporter::GetProfileXML()) { + exporter.exportRigidConstraintPhysXXML(rigidConstraint); + } + else if (profile == PROFILE_MAYA) { + exporter.exportExtraAttributes(rigidConstraint); + } + } + + private: + static const std::set& GetAttributes() + { + if (mAttributes.size() == 0) + { + // Attributes we want to export in section + mAttributes.insert(ATTR_CONSTRAIN); + mAttributes.insert(ATTR_USE_ACCELERATION); + mAttributes.insert(ATTR_INTERPENETRATE); + mAttributes.insert(ATTR_TRANSLATE); + mAttributes.insert(ATTR_ROTATE); + mAttributes.insert(ATTR_RADIUS_SCALE); + mAttributes.insert(ATTR_ORIENTATION_MODE); + mAttributes.insert(ATTR_MOTION_SWING_Y); + mAttributes.insert(ATTR_MOTION_SWING_Z); + mAttributes.insert(ATTR_SWING_1_LIMIT_VALUE); + mAttributes.insert(ATTR_SWING_1_LIMIT_RESTITUTION); + mAttributes.insert(ATTR_SWING_1_LIMIT_SPRING); + mAttributes.insert(ATTR_SWING_1_LIMIT_DAMPING); + mAttributes.insert(ATTR_SWING_2_LIMIT_VALUE); + mAttributes.insert(ATTR_SWING_2_LIMIT_RESTITUTION); + mAttributes.insert(ATTR_SWING_2_LIMIT_SPRING); + mAttributes.insert(ATTR_SWING_2_LIMIT_DAMPING); + mAttributes.insert(ATTR_MOTION_TWIST); + mAttributes.insert(ATTR_TWIST_LOW_LIMIT_VALUE); + mAttributes.insert(ATTR_TWIST_LOW_LIMIT_RESTITUTION); + mAttributes.insert(ATTR_TWIST_LOW_LIMIT_SPRING); + mAttributes.insert(ATTR_TWIST_LOW_LIMIT_DAMPING); + mAttributes.insert(ATTR_TWIST_HIGH_LIMIT_VALUE); + mAttributes.insert(ATTR_TWIST_HIGH_LIMIT_RESTITUTION); + mAttributes.insert(ATTR_TWIST_HIGH_LIMIT_SPRING); + mAttributes.insert(ATTR_TWIST_HIGH_LIMIT_DAMPING); + mAttributes.insert(ATTR_MOTION_X); + mAttributes.insert(ATTR_MOTION_Y); + mAttributes.insert(ATTR_MOTION_Z); + mAttributes.insert(ATTR_LINEAR_LIMIT_VALUE); + mAttributes.insert(ATTR_LINEAR_LIMIT_RESTITUTION); + mAttributes.insert(ATTR_LINEAR_LIMIT_SPRING); + mAttributes.insert(ATTR_LINEAR_LIMIT_DAMPING); + mAttributes.insert(ATTR_DRIVE_DAMPING_X); + mAttributes.insert(ATTR_DRIVE_DAMPING_Y); + mAttributes.insert(ATTR_DRIVE_DAMPING_Z); + mAttributes.insert(ATTR_DRIVE_DAMPING_SWING); + mAttributes.insert(ATTR_DRIVE_DAMPING_TWIST); + mAttributes.insert(ATTR_DRIVE_DAMPING_SLERP); + mAttributes.insert(ATTR_GOAL_SPACE); + mAttributes.insert(ATTR_GOAL_POSITION); + mAttributes.insert(ATTR_GOAL_ORIENTATION); + mAttributes.insert(ATTR_DRIVE_SPRING_X); + mAttributes.insert(ATTR_DRIVE_SPRING_Y); + mAttributes.insert(ATTR_DRIVE_SPRING_Z); + mAttributes.insert(ATTR_DRIVE_SPRING_SWING); + mAttributes.insert(ATTR_DRIVE_SPRING_TWIST); + mAttributes.insert(ATTR_DRIVE_SPRING_SLERP); + mAttributes.insert(ATTR_BREAKABLE_FORCE); + mAttributes.insert(ATTR_MAX_FORCE); + mAttributes.insert(ATTR_BREAKABLE_TORQUE); + mAttributes.insert(ATTR_MAX_TORQUE); + mAttributes.insert(ATTR_REVERSE); + mAttributes.insert(ATTR_PROJECTION_MODE); + mAttributes.insert(ATTR_PROJECTION_DISTANCE); + mAttributes.insert(ATTR_PROJECTION_ANGLE); + mAttributes.insert(ATTR_ANGULAR_DRIVE_MODE); + } + return mAttributes; + } + + private: + static std::set mAttributes; + }; + std::set RigidConstraintTechnique::mAttributes; + + class RigidConstraintExtra : public Element + { + public: + RigidConstraintExtra(PhysXExporter& exporter, const MObject & rigidConstraint) + : Element(exporter, CSWC::CSW_ELEMENT_EXTRA) + { + if (PhysXExporter::HasExtraAttributes(rigidConstraint)) { + exportTechnique(rigidConstraint, PROFILE_MAYA); + } + exportTechnique(rigidConstraint, PhysXExporter::GetProfile()); + exportTechnique(rigidConstraint, PhysXExporter::GetProfileXML()); + } + + private: + void exportTechnique(const MObject& rigidConstraint, const String& profile) + { + RigidConstraintTechnique e(getPhysXExporter(), rigidConstraint, profile); + } + }; + + class RigidConstraint : public Element + { + public: + RigidConstraint(PhysXExporter& exporter, const MObject & rigidConstraint, const String & sid, const String & name = "") + : Element(exporter, CSWC::CSW_ELEMENT_RIGID_CONSTRAINT) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + if (name.length() > 0) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_NAME, name); + } + + exportRefAttachment(rigidConstraint); + exportAttachment(rigidConstraint); + exportTechniqueCommon(rigidConstraint); + exportExtra(rigidConstraint); + } + + private: + void exportRefAttachment(const MObject & rigidConstraint) + { + PhysXXML::PxD6Joint* pxJoint = getPhysXExporter().findPxD6Joint(rigidConstraint); + if (!pxJoint) + return; + PhysXXML::PxRigidDynamic* pxRigidDynamic = getPhysXExporter().findPxRigidDynamic(pxJoint->actors.actor0.actor0); + PhysXXML::PxRigidStatic* pxRigidStatic = getPhysXExporter().findPxRigidStatic(pxJoint->actors.actor0.actor0); + + MObject target; + if (pxRigidDynamic) + { + target = DagHelper::getNode(pxRigidDynamic->name.name.c_str()); + } + else if (pxRigidStatic) + { + target = DagHelper::getNode(pxRigidStatic->name.name.c_str()); + } + + MObject rigidBody = getPhysXExporter().getNodeRigidBody(target); + + URI rigidBodyURI; + if (rigidBody.isNull()) + { + rigidBodyURI.set("NULL"); + } + else + { + MDagPath rigidBodyDagPath; + MDagPath::getAPathTo(rigidBody, rigidBodyDagPath); + + String rigidBodyId = getPhysXExporter().generateColladaId(rigidBodyDagPath); + rigidBodyURI = getPhysXExporter().getDocumentExporter().getVisualSceneExporter()->getSceneElementURI(rigidBodyDagPath, rigidBodyId); + } + + RefAttachment e(getPhysXExporter(), rigidConstraint, rigidBodyURI); + } + + void exportAttachment(const MObject & rigidConstraint) + { + PhysXXML::PxD6Joint* pxJoint = getPhysXExporter().findPxD6Joint(rigidConstraint); + if (!pxJoint) + return; + PhysXXML::PxRigidDynamic* pxRigidDynamic = getPhysXExporter().findPxRigidDynamic(pxJoint->actors.actor1.actor1); + PhysXXML::PxRigidStatic* pxRigidStatic = getPhysXExporter().findPxRigidStatic(pxJoint->actors.actor1.actor1); + + MObject target; + if (pxRigidDynamic) + { + target = DagHelper::getNode(pxRigidDynamic->name.name.c_str()); + } + else if (pxRigidStatic) + { + target = DagHelper::getNode(pxRigidStatic->name.name.c_str()); + } + + MObject rigidBody = getPhysXExporter().getNodeRigidBody(target); + + MDagPath rigidBodyDagPath; + MDagPath::getAPathTo(rigidBody, rigidBodyDagPath); + + String rigidBodyId = getPhysXExporter().generateColladaId(rigidBodyDagPath); + URI rigidBodyURI = getPhysXExporter().getDocumentExporter().getVisualSceneExporter()->getSceneElementURI(rigidBodyDagPath, rigidBodyId); + + Attachment e(getPhysXExporter(), rigidConstraint, rigidBodyURI); + } + + void exportTechniqueCommon(const MObject & rigidConstraint) + { + RigidConstraintTechniqueCommon e(getPhysXExporter(), rigidConstraint); + } + + void exportExtra(const MObject & rigidConstraint) + { + RigidConstraintExtra e(getPhysXExporter(), rigidConstraint); + } + }; + + class AngularVelocity : public Element + { + public: + AngularVelocity(PhysXExporter & exporter, const MVector & velocity) + : Element(exporter, CSWC::CSW_ELEMENT_ANGULAR_VELOCITY) + { + getStreamWriter().appendValues(velocity.x, velocity.y, velocity.z); + } + }; + + class Velocity : public Element + { + public: + Velocity(PhysXExporter & exporter, const MVector & velocity) + : Element(exporter, CSWC::CSW_ELEMENT_VELOCITY) + { + getStreamWriter().appendValues(velocity.x, velocity.y, velocity.z); + } + }; + + class InstanceRigidBodyTechniqueCommon : public Element + { + public: + InstanceRigidBodyTechniqueCommon(PhysXExporter& exporter, const MVector & angularVelocity, const MVector& velocity) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE_COMMON) + { + exportAngularVelocity(angularVelocity); + exportVelocity(velocity); + + // Don't export other elements, use rigid_body's ones. + } + + private: + void exportAngularVelocity(const MVector& angularVelocity) + { + if (angularVelocity != MVector::zero) + { + AngularVelocity e(getPhysXExporter(), angularVelocity); + } + } + + void exportVelocity(const MVector& velocity) + { + if (velocity != MVector::zero) + { + Velocity e(getPhysXExporter(), velocity); + } + } + }; + + class InstanceRigidBody : public Element + { + public: + InstanceRigidBody(PhysXExporter& exporter, const MObject & rigidBody, const String& instanceRigidBodySID, const String & rigidBodySID, const URI & targetURI) + : Element(exporter, CSWC::CSW_ELEMENT_INSTANCE_RIGID_BODY) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, instanceRigidBodySID); + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_BODY, rigidBodySID); + getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_TARGET, targetURI); + + MVector initialSpin = MVector::zero; + DagHelper::getPlugValue(rigidBody, ATTR_INITIAL_SPIN, initialSpin); + initialSpin.x = COLLADABU::Math::Utils::radToDeg(initialSpin.x); + initialSpin.y = COLLADABU::Math::Utils::radToDeg(initialSpin.y); + initialSpin.z = COLLADABU::Math::Utils::radToDeg(initialSpin.z); + + MVector initialVelocity = MVector::zero; + DagHelper::getPlugValue(rigidBody, ATTR_INITIAL_VELOCITY, initialVelocity); + initialVelocity.x = MDistance::internalToUI(initialVelocity.x); + initialVelocity.y = MDistance::internalToUI(initialVelocity.y); + initialVelocity.z = MDistance::internalToUI(initialVelocity.z); + + exportTechniqueCommon(initialSpin, initialVelocity); + } + + private: + void exportTechniqueCommon(const MVector& angularVelocity, const MVector& velocity) + { + if (angularVelocity != MVector::zero || + velocity != MVector::zero) + { + InstanceRigidBodyTechniqueCommon e(getPhysXExporter(), angularVelocity, velocity); + } + } + }; + + class InstanceRigidConstraint : public Element + { + public: + InstanceRigidConstraint(PhysXExporter & exporter, const String& instanceConstraintSid, const String & constraintSid) + : Element(exporter, CSWC::CSW_ELEMENT_INSTANCE_RIGID_CONSTRAINT) + { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, instanceConstraintSid); + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_CONSTRAINT, constraintSid); + } + }; + + class InstancePhysicsModel : public Element + { + public: + InstancePhysicsModel(PhysXExporter& exporter, const String& sid, const URI& uri) + : Element(exporter, CSWC::CSW_ELEMENT_INSTANCE_PHYSICS_MODEL) + { + if (!sid.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + } + getStreamWriter().appendURIAttribute(CSWC::CSW_ATTRIBUTE_URL, uri); + + exportInstanceRigidBodies(); + exportInstanceRigidConstraints(); + } + + private: + class RigidBodyParser + { + public: + RigidBodyParser(PhysXExporter & exporter) + : mPhysXExporter(exporter) + , mInstanceRigidBodyIndex(0) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_BODY && + element.getIsLocal()) + { + const MObject & rigidBody = element.getNode(); + + MObject target; + mPhysXExporter.getRigidBodyTarget(rigidBody, target); + MDagPath targetDagPath; + MDagPath::getAPathTo(target, targetDagPath); + SceneElement* targetElement = mPhysXExporter.getDocumentExporter().getSceneGraph()->findElement(targetDagPath); + if (targetElement) + { + String rigidBodySid = mPhysXExporter.generateColladaId(element.getPath()); + std::stringstream s; + s << "_" << mInstanceRigidBodyIndex++; + String instanceRigidBodySid = rigidBodySid + s.str(); + URI targetURI = mPhysXExporter.getDocumentExporter().getVisualSceneExporter()->getSceneElementURI(targetElement); + InstanceRigidBody e(mPhysXExporter, rigidBody, instanceRigidBodySid, rigidBodySid, targetURI); + } + } + return true; + } + + private: + PhysXExporter & mPhysXExporter; + int mInstanceRigidBodyIndex; + }; + + void exportInstanceRigidBodies() + { + PhysXExporter& exporter = getPhysXExporter(); + + // Export ground plane if enabled + MObject rigidSolver; + if (exporter.getRigidSolver(rigidSolver)) + { + String name = GROUND_PLANE_NAME; + String sid = name; + + bool useGroundPlane = false; + DagHelper::getPlugValue(rigidSolver, ATTR_USE_GROUND_PLANE, useGroundPlane); + PhysXXML::PxRigidStatic* groundPlane = exporter.findPxRigidStatic(name); + if (useGroundPlane && groundPlane) + { + // Can't use Element class since ground plane has no associated MObject. + // So export everything manually... + + StreamWriter& sw = getStreamWriter(); + sw.openElement(CSWC::CSW_ELEMENT_INSTANCE_RIGID_BODY); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_SID, name); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_BODY, name); + // No target + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_TARGET, "#"); + sw.closeElement(); + } + } + + RigidBodyParser rigidBodyParser(exporter); + exporter.parseSceneElements(rigidBodyParser); + } + + class RigidConstraintParser + { + public: + RigidConstraintParser(PhysXExporter & exporter) + : mPhysXExporter(exporter) + , mInstanceRigidConstraintIndex(0) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_CONSTRAINT && + element.getIsLocal()) + { + const MObject & rigidConstraint = element.getNode(); + + String rigidConstraintSid = mPhysXExporter.generateColladaId(element.getPath()); + std::stringstream s; + s << "_" << mInstanceRigidConstraintIndex++; + String instanceRigidConstraintSid = rigidConstraintSid + s.str(); + InstanceRigidConstraint e(mPhysXExporter, instanceRigidConstraintSid, rigidConstraintSid); + } + return true; + } + + private: + PhysXExporter & mPhysXExporter; + int mInstanceRigidConstraintIndex; + }; + + void exportInstanceRigidConstraints() + { + RigidConstraintParser rigidConstraintParser(getPhysXExporter()); + getPhysXExporter().parseSceneElements(rigidConstraintParser); + } + }; + + class PhysicsModel : public Element + { + public: + PhysicsModel(PhysXExporter& exporter, const String & id) + : Element(exporter, CSWC::CSW_ELEMENT_PHYSICS_MODEL) + { + if (!id.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_ID, id); + } + exportRigidBodies(); + exportRigidConstraints(); + //exportInstancePhysicsModels(); + } + + private: + class RigidBodyParser + { + public: + RigidBodyParser(PhysXExporter & exporter) + : mPhysXExporter(exporter) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_BODY && + element.getIsLocal()) + { + String rigidBodySid = mPhysXExporter.generateColladaId(element.getPath()); + String rigidBodyName = mPhysXExporter.generateColladaName(element.getPath()); + + const MObject & rigidBody = element.getNode(); + + RigidBody e(mPhysXExporter, rigidBody, rigidBodySid, rigidBodyName); + } + return true; + } + + private: + PhysXExporter & mPhysXExporter; + }; + + void exportRigidBodies() + { + PhysXExporter& exporter = getPhysXExporter(); + + // Export ground plane if enabled + MObject rigidSolver; + if (exporter.getRigidSolver(rigidSolver)) + { + String name = GROUND_PLANE_NAME; + String sid = name; + + bool useGroundPlane = false; + DagHelper::getPlugValue(rigidSolver, ATTR_USE_GROUND_PLANE, useGroundPlane); + PhysXXML::PxRigidStatic* groundPlane = exporter.findPxRigidStatic(name); + if (useGroundPlane && groundPlane) + { + // Can't use Element class since ground plane has no associated MObject. + // So export everything manually... + + StreamWriter& sw = getStreamWriter(); + sw.openElement(CSWC::CSW_ELEMENT_RIGID_BODY); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_NAME, name); + { + sw.openElement(CSWC::CSW_ELEMENT_TECHNIQUE_COMMON); + { + sw.openElement(CSWC::CSW_ELEMENT_RIGID_BODY_DYNAMIC); + sw.appendValues(false); + sw.closeElement(); + + PhysXXML::PxMaterial* mat = exporter.findPxMaterial(groundPlane->shapes.shapes[0].materials.materialRef.materialRef); + if (mat) + { + sw.openElement(CSWC::CSW_ELEMENT_PHYSICS_MATERIAL); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_ID, name + "_material"); + { + sw.openElement(CSWC::CSW_ELEMENT_TECHNIQUE_COMMON); + { + sw.openElement(CSWC::CSW_ELEMENT_RESTITUTION); + sw.appendValues(mat->restitution.restitution); + sw.closeElement(); + + sw.openElement(CSWC::CSW_ELEMENT_DYNAMIC_FRICTION); + sw.appendValues(mat->dynamicFriction.dynamicFriction); + sw.closeElement(); + + sw.openElement(CSWC::CSW_ELEMENT_STATIC_FRICTION); + sw.appendValues(mat->staticFriction.staticFriction); + sw.closeElement(); + } + sw.closeElement(); + + sw.openElement(CSWC::CSW_ELEMENT_EXTRA); + { + sw.openElement(CSWC::CSW_ELEMENT_TECHNIQUE); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, PhysXExporter::GetProfileXML()); + { + mat->exportElement(sw); + } + sw.closeElement(); + } + sw.closeElement(); + } + sw.closeElement(); + } + + sw.openElement(CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE); + { + PhysXXML::PxShape& shape = groundPlane->shapes.shapes[0]; + + sw.openElement(CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_PLANE); + { + double groundPlanePosition = 0.0f; + DagHelper::getPlugValue(rigidSolver, ATTR_GROUND_PLANE_POSITION, groundPlanePosition); + groundPlanePosition = MDistance::internalToUI(groundPlanePosition); + + // Plane equation + double a = 0.0f; + double b = 1.0f; + double c = 0.0f; + double d = -groundPlanePosition; + + sw.openElement(CSWC::CSW_ELEMENT_RIGID_BODY_SHAPE_PLANE_EQUATION); + sw.appendValues(a, b, c, d); + sw.closeElement(); + + } + sw.closeElement(); + + sw.openElement(CSWC::CSW_ELEMENT_EXTRA); + { + sw.openElement(CSWC::CSW_ELEMENT_TECHNIQUE); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, PhysXExporter::GetProfileXML()); + { + shape.exportElement(sw); + } + sw.closeElement(); + } + sw.closeElement(); + } + sw.closeElement(); + } + sw.closeElement(); + + sw.openElement(CSWC::CSW_ELEMENT_EXTRA); + { + sw.openElement(CSWC::CSW_ELEMENT_TECHNIQUE); + sw.appendAttribute(CSWC::CSW_ATTRIBUTE_PROFILE, PhysXExporter::GetProfileXML()); + { + groundPlane->exportElement(sw); + } + sw.closeElement(); + } + sw.closeElement(); + } + sw.closeElement(); + } + } + + // Export the other rigid bodies + RigidBodyParser rigidBodyParser(exporter); + exporter.parseSceneElements(rigidBodyParser); + } + + class RigidConstraintParser + { + public: + RigidConstraintParser(PhysXExporter & exporter) + : mPhysXExporter(exporter) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_CONSTRAINT && + element.getIsLocal()) + { + String rigidConstraintSid = mPhysXExporter.generateColladaId(element.getPath()); + String rigidConstraintName = mPhysXExporter.generateColladaName(element.getPath()); + + const MObject & rigidConstraint = element.getNode(); + + RigidConstraint e(mPhysXExporter, rigidConstraint, rigidConstraintSid, rigidConstraintName); + } + return true; + } + + private: + PhysXExporter & mPhysXExporter; + }; + + void exportRigidConstraints() + { + RigidConstraintParser rigidConstraintParser(getPhysXExporter()); + getPhysXExporter().parseSceneElements(rigidConstraintParser); + } + }; + + class LibraryPhysicsModels : public Element + { + public: + LibraryPhysicsModels(PhysXExporter& exporter) + : Element(exporter, CSWC::CSW_ELEMENT_LIBRARY_PHYSICS_MODELS) + { + PhysicsModel e(exporter, PhysXExporter::GetDefaultPhysicsModelId()); + } + }; + + class Gravity : public Element + { + public: + Gravity(PhysXExporter & exporter, const MVector & gravity) + : Element(exporter, CSWC::CSW_ELEMENT_GRAVITY) + { + getStreamWriter().appendValues(gravity.x, gravity.y, gravity.z); + } + }; + + class PhysicsSceneTechniqueCommon : public Element + { + public: + PhysicsSceneTechniqueCommon(PhysXExporter & exporter) + : Element(exporter, CSWC::CSW_ELEMENT_TECHNIQUE_COMMON) + { + MObject rigidSolver; + if (exporter.getRigidSolver(rigidSolver)) + { + exportGravity(rigidSolver); + exportTimeStep(rigidSolver); + } + } + + private: + void exportGravity(const MObject & rigidSolver) + { + bool gravityEnabled = false; + DagHelper::getPlugValue(rigidSolver, ATTR_GRAVITY, gravityEnabled); + if (gravityEnabled) + { + double gravityMagnitude = 9.18; + DagHelper::getPlugValue(rigidSolver, ATTR_GRAVITY_MAGNITUDE, gravityMagnitude); + + MVector gravityDirection(0.0, -1.0, 0.0); + DagHelper::getPlugValue(rigidSolver, ATTR_GRAVITY_DIRECTION, gravityDirection); + + gravityDirection.x = MDistance::internalToUI(gravityDirection.x); + gravityDirection.y = MDistance::internalToUI(gravityDirection.y); + gravityDirection.z = MDistance::internalToUI(gravityDirection.z); + + Gravity e(getPhysXExporter(), gravityDirection * gravityMagnitude); + } + } + + void exportTimeStep(const MObject & rigidSolver) + { + + } + }; + + class PhysicsScene : public Element + { + public: + PhysicsScene(PhysXExporter& exporter, const String & id) + : Element(exporter, CSWC::CSW_ELEMENT_PHYSICS_SCENE) + { + if (!id.empty()) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_ID, id); + } + exportInstancePhysicsModels(); + exportTechniqueCommon(); + } + + private: + void exportInstancePhysicsModels() + { + // Local physics model + if (getPhysXExporter().sceneHas(SceneElement::PHYSX_RIGID_BODY, PhysXExporter::Local) || + getPhysXExporter().sceneHas(SceneElement::PHYSX_RIGID_CONSTRAINT, PhysXExporter::Local)) + { + String physicsModelId = PhysXExporter::GetDefaultPhysicsModelId(); + + URI uri; + uri.set(""); + uri.setFragment(physicsModelId); + + InstancePhysicsModel e(getPhysXExporter(), PhysXExporter::GetDefaultInstancePhysicsModelSid(), uri); + } + } + + void exportTechniqueCommon() + { + PhysicsSceneTechniqueCommon e(getPhysXExporter()); + } + }; + + class LibraryPhysicsScenes : public Element + { + public: + LibraryPhysicsScenes(PhysXExporter& exporter) + : Element(exporter, CSWC::CSW_ELEMENT_LIBRARY_PHYSICS_SCENES) + { + PhysicsScene e(exporter, PhysXExporter::GetDefaultPhysicsSceneId()); + } + }; + + class Translate : public Element + { + public: + Translate(PhysXExporter& exporter, const MVector & translation, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_TRANSLATE) + { + if (sid.length() > 0) + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + getStreamWriter().appendValues(translation.x, translation.y, translation.z); + } + }; + + class Rotate : public Element + { + public: + Rotate(PhysXExporter& exporter, const MVector & axis, double angle, const String & sid = "") + : Element(exporter, CSWC::CSW_ELEMENT_ROTATE) + { + if (sid.length() > 0) { + getStreamWriter().appendAttribute(CSWC::CSW_ATTRIBUTE_SID, sid); + } + getStreamWriter().appendValues(axis.x, axis.y, axis.z, angle); + } + }; + + String PhysXExporter::mDefaultPhysicsModelId = "collada_physics_model"; + String PhysXExporter::mDefaultPhysicsSceneId = "collada_physics_scene"; + String PhysXExporter::mDefaultInstancePhysicsModelSid = "instancePhysicsModel"; + String PhysXExporter::mProfile = "OpenCOLLADAMayaPhysX"; + String PhysXExporter::mProfileXML = "OpenCOLLADAMayaPhysXXML"; + + PhysXExporter::PhysXExporter(StreamWriter& streamWriter, DocumentExporter& documentExporter) + : mStreamWriter(streamWriter) + , mDocumentExporter(documentExporter) + {} + + class RigidBodyParser + { + public: + RigidBodyParser(const SceneElement & meshElement) + : mMeshElement(meshElement) + , mNeedsConvexHullOfMeshElement(false) + {} + + bool operator()(SceneElement & element) + { + if (element.getType() == SceneElement::PHYSX_RIGID_BODY) + { + std::vector shapes; + PhysXExporter::GetRigidBodyShapes(element.getNode(), shapes); + + for (size_t i = 0; i < shapes.size(); ++i) + { + const MObject & shape = shapes[i]; + int dummy = 0; + MString shapeType; + DagHelper::getPlugValue(shape, ATTR_SHAPE_TYPE, dummy, shapeType); + if (shapeType == SHAPE_TYPE_CONVEX_HULL) + { + MObject connectedMesh; + PhysXShape::GetConnectedInMesh(shape, connectedMesh); + + if (mMeshElement.getNode() == connectedMesh || + mMeshElement.getNode() == shape) + { + mNeedsConvexHullOfMeshElement = true; + mShape = shape; + return false; + } + } + } + } + return true; + } + + bool needsConvexHullOfMeshElement() const + { + return mNeedsConvexHullOfMeshElement; + } + + const MObject& getShape() const + { + return mShape; + } + + private: + const SceneElement & mMeshElement; + bool mNeedsConvexHullOfMeshElement; + MObject mShape; + }; + + bool PhysXExporter::needsConvexHullOf(const SceneElement & meshElement, MObject& shape) + { + if (!ExportOptions::exportPhysics()) + return false; + + RigidBodyParser parser(meshElement); + parseSceneElements(parser); + shape = parser.getShape(); + return parser.needsConvexHullOfMeshElement(); + } + + bool ExtractPhysXPluginVersionNumbers( + int & major, + int & minor, + int & a, + int & b) + { + String version = PhysXExporter::GetInstalledPhysXPluginVersion().asChar(); + + size_t p1 = version.find('('); + if (p1 == String::npos) return false; + ++p1; + if (p1 >= version.length()) return false; + + size_t p2 = version.find(')', p1); + if (p2 == String::npos) return false; + + MString mnumbers = version.substr(p1, p2 - p1).c_str(); + MStringArray numbers; + mnumbers.split('.', numbers); + if (numbers.length() != 4) return false; + + std::stringstream s; + s << numbers[0] << ' ' << numbers[1] << ' ' << numbers[2] << ' ' << numbers[3]; + s >> major >> minor >> a >> b; + + return true; + } + + bool PhysXExporter::CheckPhysXPluginVersion() + { + MObject pluginObject = MFnPlugin::findPlugin("physx"); + + if (pluginObject.isNull()) { + return false; + } + + MFnPlugin fnPlugin(pluginObject); + + MStatus status; + MString mversion = fnPlugin.version(&status); + if (!status) return false; + + int requ_major = 0; + int requ_minor = 0; + int requ_a = 0; + int requ_b = 0; + + int curr_major = 0; + int curr_minor = 0; + int curr_a = 0; + int curr_b = 0; + + if (!ExtractPhysXPluginVersionNumbers(requ_major, requ_minor, requ_a, requ_b)) { + return false; + } + + if (!ExtractPhysXPluginVersionNumbers(curr_major, curr_minor, curr_a, curr_b)) { + return false; + } + + if (curr_major < requ_major || + curr_minor < requ_minor || + curr_a < requ_a || + curr_b < requ_b) { + return false; + } + + return true; + } + + MString PhysXExporter::GetRequiredPhysXPluginVersion() + { + return MString("PhysxForMaya (3.3.10708.21402) , compiled 7/8/2015 9:40:44 PM"); + } + + MString PhysXExporter::GetInstalledPhysXPluginVersion() + { + static MString na = "N/A"; + + MObject pluginObject = MFnPlugin::findPlugin("physx"); + if (pluginObject.isNull()) { + return na; + } + + MFnPlugin fnPlugin(pluginObject); + + MStatus status; + MString version = fnPlugin.version(&status); + if (!status) return na; + + return version; + } + + class AutoDeleteFile + { + public: + AutoDeleteFile(const String& filePath) + : mFilePath(filePath) + {} + + ~AutoDeleteFile() + { + if (!mFilePath.empty()) { + COLLADABU::Utils::deleteFile(mFilePath); + } + } + + private: + String mFilePath; + }; + + class AutoXmlFreeDoc + { + public: + AutoXmlFreeDoc(xmlDocPtr xml) + : mXml(xml) + {} + + ~AutoXmlFreeDoc() + { + if (mXml) { + xmlFreeDoc(mXml); + } + } + + private: + xmlDocPtr mXml; + }; + + class AutoRestorePhysXExportOptions + { + public: + AutoRestorePhysXExportOptions() + : mError(false) + { + mOptions.push_back(Option("apexClothingExport_APBs", Integer)); + mOptions.push_back(Option("validatePhysXSceneBeforeExport", Integer)); + mOptions.push_back(Option("PhysXExport_useFolderName", Integer)); + mOptions.push_back(Option("apexExport_RemoveNamespaceForJoint", Integer)); + mOptions.push_back(Option("apexClothingExport_VisibleOnly", Integer)); + mOptions.push_back(Option("PhysXExport_UseJointLongName", Integer)); + mOptions.push_back(Option("PhysXExport_exportPxProjFile", Integer)); + mOptions.push_back(Option("PhysXExport_exportPhysX", Integer)); + mOptions.push_back(Option("PhysXExport_outputUnit", String)); + mOptions.push_back(Option("PhysXExport_customScaling", Integer)); + mOptions.push_back(Option("PhysXExport_outputScale", Double)); + + for (size_t i = 0; i < mOptions.size(); ++i) { + switch (mOptions[i].type) + { + case Integer: + { + int oldValue = 0; + MStatus status = MGlobal::executeCommand("optionVar -q \"" + mOptions[i].name + "\"", oldValue); + if (!status) mError |= true; + MString oldValueStr(""); + oldValueStr += oldValue; + mOldValues.push_back(oldValueStr); + break; + } + case Double: + { + double oldValue = 0.0; + MStatus status = MGlobal::executeCommand("optionVar -q \"" + mOptions[i].name + "\"", oldValue); + if (!status) mError |= true; + MString oldValueStr(""); + oldValueStr += oldValue; + mOldValues.push_back(oldValueStr); + break; + } + case String: + { + MString oldValue; + MStatus status = MGlobal::executeCommand("optionVar -q \"" + mOptions[i].name + "\"", oldValue); + if (!status) mError |= true; + mOldValues.push_back(oldValue); + break; + } + } + } + } + + ~AutoRestorePhysXExportOptions() + { + for (size_t i = 0; i < mOptions.size(); ++i) { + MString command = "optionVar -"; + switch (mOptions[i].type) + { + case Integer: command += "i"; break; + case Double: command += "f"; break; + case String: command += "s"; break; + } + MGlobal::executeCommand(command + "v \"" + mOptions[i].name + "\" " + mOldValues[i]); + } + } + + bool error() const + { + return mError; + } + + private: + enum OptionType + { + Integer, + Double, + String + }; + + struct Option + { + Option(const MString& name_, OptionType type_) + : name(name_) + , type(type_) + {} + + MString name; + OptionType type; + }; + std::vector