Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

add changes from internal repo to COLLADAMaya

  • Loading branch information...
commit b5e5ea09f22544075d28010dbfd388c2ceb4c970 1 parent bd3b5c2
@opencollada-sebastian opencollada-sebastian authored
Showing with 15,611 additions and 6,315 deletions.
  1. +6 −2 COLLADAMaya/BUGS.TXT
  2. +5 −2 COLLADAMaya/BUILD_MAC.TXT
  3. +7 −2 COLLADAMaya/BUILD_WIN.TXT
  4. +280 −2 COLLADAMaya/COLLADAMaya.sln
  5. +2,846 −514 COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj
  6. +2 −2 COLLADAMaya/INSTALL_LINUX.TXT
  7. +13 −8 COLLADAMaya/INSTALL_MAC.TXT
  8. +8 −7 COLLADAMaya/INSTALL_WIN.TXT
  9. +1 −1  COLLADAMaya/LICENSE.TXT
  10. +0 −4 COLLADAMaya/TODO.TXT
  11. +2 −2 COLLADAMaya/include/COLLADAMayaAnimationCurves.h
  12. +3 −2 COLLADAMaya/include/COLLADAMayaAnimationExporter.h
  13. +53 −16 COLLADAMaya/include/COLLADAMayaAnimationImporter.h
  14. +46 −0 COLLADAMaya/include/COLLADAMayaBaseAnimation.h
  15. +56 −9 COLLADAMaya/include/COLLADAMayaBaseImporter.h
  16. +0 −5 COLLADAMaya/include/COLLADAMayaCameraImporter.h
  17. +30 −12 COLLADAMaya/include/COLLADAMayaControllerExporter.h
  18. +252 −75 COLLADAMaya/include/COLLADAMayaControllerImporter.h
  19. +4 −0 COLLADAMaya/include/COLLADAMayaDocumentExporter.h
  20. +212 −78 COLLADAMaya/include/COLLADAMayaDocumentImporter.h
  21. +3 −11 COLLADAMaya/include/COLLADAMayaEffectAnimation.h
  22. +20 −10 COLLADAMaya/include/COLLADAMayaEffectExporter.h
  23. +87 −89 COLLADAMaya/include/COLLADAMayaEffectImporter.h
  24. +10 −5 COLLADAMaya/include/COLLADAMayaEffectTextureExporter.h
  25. +19 −21 COLLADAMaya/include/COLLADAMayaExportOptions.h
  26. +7 −2 COLLADAMaya/include/COLLADAMayaFileTranslator.h
  27. +13 −33 COLLADAMaya/include/COLLADAMayaGeometryBinding.h
  28. +13 −24 COLLADAMaya/include/COLLADAMayaGeometryExporter.h
  29. +351 −59 COLLADAMaya/include/COLLADAMayaGeometryImporter.h
  30. +5 −8 COLLADAMaya/include/COLLADAMayaGeometryPolygonExporter.h
  31. +23 −8 COLLADAMaya/include/COLLADAMayaHwShaderExporter.h
  32. +30 −12 COLLADAMaya/include/COLLADAMayaImageImporter.h
  33. +0 −4 COLLADAMaya/include/COLLADAMayaImportOptions.h
  34. +1 −6 COLLADAMaya/include/COLLADAMayaLightImporter.h
  35. +5 −3 COLLADAMaya/include/COLLADAMayaMaterialExporter.h
  36. +143 −16 COLLADAMaya/include/COLLADAMayaMaterialImporter.h
  37. +94 −0 COLLADAMaya/include/COLLADAMayaMayaTransform.h
  38. +0 −59 COLLADAMaya/include/COLLADAMayaMeshHelper.h
  39. +49 −0 COLLADAMaya/include/COLLADAMayaMorphAnimation.h
  40. +0 −3  COLLADAMaya/include/COLLADAMayaMorphController.h
  41. +35 −12 COLLADAMaya/include/COLLADAMayaNode.h
  42. +69 −0 COLLADAMaya/include/COLLADAMayaNodeImporter.h
  43. +1 −1  COLLADAMaya/include/COLLADAMayaPolygonSource.h
  44. +4 −4 COLLADAMaya/include/COLLADAMayaPrerequisites.h
  45. +6 −6 COLLADAMaya/include/{COLLADAMayaSaxParserErrorHandler.h → COLLADAMayaSaxErrorHandler.h}
  46. +7 −0 COLLADAMaya/include/COLLADAMayaSceneElement.h
  47. +0 −1  COLLADAMaya/include/COLLADAMayaSetHelper.h
  48. +3 −3 COLLADAMaya/include/COLLADAMayaShaderHelper.h
  49. +51 −46 COLLADAMaya/include/COLLADAMayaShadingBinding.h
  50. +2 −0  COLLADAMaya/include/COLLADAMayaStableHeaders.h
  51. +33 −16 COLLADAMaya/include/COLLADAMayaSyntax.h
  52. +17 −13 COLLADAMaya/include/COLLADAMayaTransformAnimation.h
  53. +32 −19 COLLADAMaya/include/COLLADAMayaVisualSceneExporter.h
  54. +54 −99 COLLADAMaya/include/COLLADAMayaVisualSceneImporter.h
  55. +2,117 −474 COLLADAMaya/scripts/COLLADAMaya.vcproj
  56. +508 −0 COLLADAMaya/scripts/openColladaExporterOpts.mel
  57. +156 −0 COLLADAMaya/scripts/openColladaImporterOpts.mel
  58. +1 −1  COLLADAMaya/src/COLLADAMayaAnimationElement.cpp
  59. +104 −43 COLLADAMaya/src/COLLADAMayaAnimationExporter.cpp
  60. +359 −98 COLLADAMaya/src/COLLADAMayaAnimationImporter.cpp
  61. +2 −1  COLLADAMaya/src/COLLADAMayaAnimationSampleCache.cpp
  62. +28 −0 COLLADAMaya/src/COLLADAMayaBaseAnimation.cpp
  63. +149 −8 COLLADAMaya/src/COLLADAMayaBaseImporter.cpp
  64. +24 −19 COLLADAMaya/src/COLLADAMayaCameraExporter.cpp
  65. +28 −22 COLLADAMaya/src/COLLADAMayaCameraImporter.cpp
  66. +7 −0 COLLADAMaya/src/COLLADAMayaCgfxShaderIncludes.cpp
  67. +44 −19 COLLADAMaya/src/COLLADAMayaConsoleMain.cpp
  68. +160 −224 COLLADAMaya/src/COLLADAMayaControllerExporter.cpp
  69. +872 −225 COLLADAMaya/src/COLLADAMayaControllerImporter.cpp
  70. +64 −77 COLLADAMaya/src/COLLADAMayaDocumentExporter.cpp
  71. +435 −127 COLLADAMaya/src/COLLADAMayaDocumentImporter.cpp
  72. +2 −2 COLLADAMaya/src/COLLADAMayaEffectAnimation.cpp
  73. +50 −47 COLLADAMaya/src/COLLADAMayaEffectExporter.cpp
  74. +276 −247 COLLADAMaya/src/COLLADAMayaEffectImporter.cpp
  75. +75 −74 COLLADAMaya/src/COLLADAMayaEffectTextureExporter.cpp
  76. +29 −89 COLLADAMaya/src/COLLADAMayaExportOptions.cpp
  77. +32 −17 COLLADAMaya/src/COLLADAMayaFileTranslator.cpp
  78. +1 −1  COLLADAMaya/src/COLLADAMayaGeometryBinding.cpp
  79. +212 −645 COLLADAMaya/src/COLLADAMayaGeometryExporter.cpp
  80. +1,903 −633 COLLADAMaya/src/COLLADAMayaGeometryImporter.cpp
  81. +26 −51 COLLADAMaya/src/COLLADAMayaGeometryPolygonExporter.cpp
  82. +1,266 −972 COLLADAMaya/src/COLLADAMayaHwShaderExporter.cpp
  83. +80 −12 COLLADAMaya/src/COLLADAMayaImageImporter.cpp
  84. +0 −19 COLLADAMaya/src/COLLADAMayaImportOptions.cpp
  85. +16 −14 COLLADAMaya/src/COLLADAMayaLightExporter.cpp
  86. +20 −24 COLLADAMaya/src/COLLADAMayaLightImporter.cpp
  87. +108 −107 COLLADAMaya/src/COLLADAMayaMaterialExporter.cpp
  88. +560 −190 COLLADAMaya/src/COLLADAMayaMaterialImporter.cpp
  89. +28 −0 COLLADAMaya/src/COLLADAMayaMorphAnimation.cpp
  90. +27 −12 COLLADAMaya/src/COLLADAMayaNode.cpp
  91. +67 −0 COLLADAMaya/src/COLLADAMayaNodeImporter.cpp
  92. +63 −0 COLLADAMaya/src/COLLADAMayaSaxErrorHandler.cpp
  93. +1 −0  COLLADAMaya/src/COLLADAMayaSceneElement.cpp
  94. +3 −7 COLLADAMaya/src/COLLADAMayaSceneGraph.cpp
  95. +0 −28 COLLADAMaya/src/COLLADAMayaSetHelper.cpp
  96. +135 −105 COLLADAMaya/src/COLLADAMayaShaderHelper.cpp
  97. +3 −3 COLLADAMaya/src/COLLADAMayaShadingBinding.cpp
  98. +8 −32 COLLADAMaya/src/COLLADAMayaTransformAnimation.cpp
  99. +193 −105 COLLADAMaya/src/COLLADAMayaVisualSceneExporter.cpp
  100. +354 −203 COLLADAMaya/src/COLLADAMayaVisualSceneImporter.cpp
  101. +1 −1  COLLADAMaya/template/template.cpp
  102. +1 −1  COLLADAMaya/template/template.h
View
8 COLLADAMaya/BUGS.TXT
@@ -1,6 +1,10 @@
-Please go to http://sourceforge.net/projects/COLLADAMaya for a full
-list of known bugs.
+Please go to http://sourceforge.net/projects/COLLADAMaya
+for a full list of known bugs.
Have a look on the TODO file!
+You can report new bugs on
+http://code.google.com/p/opencollada/issues/list
+
+
View
7 COLLADAMaya/BUILD_MAC.TXT
@@ -6,8 +6,9 @@ To build the COLLADAMaya plug-in, you need following installations:
- libxml
Supported versions of Autodesk Maya are:
-- Autodesk Maya 2008
+- Autodesk Maya 2010
- Autodesk Maya 2009
+- Autodesk Maya 2008
Supported and tested versions of boost c++ libraries:
- Boost 1.35
@@ -29,10 +30,12 @@ can find the XCode project file in
Build:
------
Download and compile the sources of COLLADAMaya from
-https://colladamaya.svn.sourceforge.net/svnroot/colladamaya/branches/nextgen.
+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
View
9 COLLADAMaya/BUILD_WIN.TXT
@@ -7,6 +7,7 @@ To build the COLLADAMaya plug-in, you need following installations:
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
@@ -33,6 +34,8 @@ variables for a win32, respectively a x64 system:
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
@@ -57,10 +60,12 @@ x64:
lib directory of boost.
Download and compile the sources of COLLADAMaya from
-https://colladamaya.svn.sourceforge.net/svnroot/colladamaya/branches/nextgen.
+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
@@ -73,7 +78,7 @@ created "COLLADAMaya.mll" file into this directory.
The solution configuration "ReleaseConsole2008" and "DebugConsole2008" create
the "COLLADAMaya.exe" file in the output folder and will be copied into the
-"./nextgen/COLLADAMaya/testsuite" folder. If you start the "testAllFiles.bat",
+"./OpenCOLLADA/COLLADAMaya/testsuite" folder. If you start the "testAllFiles.bat",
all maya files in the current directory and all sub-directories will be
converted to collada "dae" files and checked with the coherency checker.
View
282 COLLADAMaya/COLLADAMaya.sln
@@ -39,16 +39,22 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXML", "..\Externals\LibX
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\Externals\pcre\scripts\pcre.vcproj", "{71A48A24-8603-49FB-9458-CB4E97309378}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathMLSolver", "..\Externals\MathMLSolver\scripts\MathMLSolver.vcproj", "{F1DEFC38-6AA9-4799-983B-96610117CAF7}"
+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
DebugPlugin2008|Win32 = DebugPlugin2008|Win32
DebugPlugin2008|x64 = DebugPlugin2008|x64
DebugPlugin2009|Win32 = DebugPlugin2009|Win32
DebugPlugin2009|x64 = DebugPlugin2009|x64
+ DebugPlugin2010|Win32 = DebugPlugin2010|Win32
+ DebugPlugin2010|x64 = DebugPlugin2010|x64
DebugPlugin80|Win32 = DebugPlugin80|Win32
DebugPlugin80|x64 = DebugPlugin80|x64
DebugPlugin85|Win32 = DebugPlugin85|Win32
@@ -57,10 +63,18 @@ Global
ReleaseConsole2008|x64 = ReleaseConsole2008|x64
ReleaseConsole2009|Win32 = ReleaseConsole2009|Win32
ReleaseConsole2009|x64 = ReleaseConsole2009|x64
+ ReleaseConsole2010|Win32 = ReleaseConsole2010|Win32
+ ReleaseConsole2010|x64 = ReleaseConsole2010|x64
+ ReleaseConsoleProgDB2009|Win32 = ReleaseConsoleProgDB2009|Win32
+ ReleaseConsoleProgDB2009|x64 = ReleaseConsoleProgDB2009|x64
+ ReleaseConsoleProgDB2010|Win32 = ReleaseConsoleProgDB2010|Win32
+ ReleaseConsoleProgDB2010|x64 = ReleaseConsoleProgDB2010|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
ReleasePlugin80|Win32 = ReleasePlugin80|Win32
ReleasePlugin80|x64 = ReleasePlugin80|x64
ReleasePlugin85|Win32 = ReleasePlugin85|Win32
@@ -75,6 +89,10 @@ Global
{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}.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
@@ -83,6 +101,10 @@ Global
{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}.DebugPlugin80|Win32.ActiveCfg = DebugPlugin80|Win32
{60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin80|Win32.Build.0 = DebugPlugin80|Win32
{60331F1F-2334-42AF-80A8-A4A6E3299186}.DebugPlugin80|x64.ActiveCfg = DebugPlugin80|x64
@@ -99,6 +121,18 @@ Global
{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}.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}.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
@@ -107,6 +141,10 @@ Global
{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}.ReleasePlugin80|Win32.ActiveCfg = ReleasePlugin80|Win32
{60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin80|Win32.Build.0 = ReleasePlugin80|Win32
{60331F1F-2334-42AF-80A8-A4A6E3299186}.ReleasePlugin80|x64.ActiveCfg = ReleasePlugin80|x64
@@ -123,6 +161,10 @@ Global
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|Win32.Build.0 = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|x64.ActiveCfg = Debug fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2009|x64.Build.0 = Debug fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|Win32.ActiveCfg = Debug fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|Win32.Build.0 = Debug fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|x64.ActiveCfg = Debug fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugConsole2010|x64.Build.0 = Debug fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|Win32.ActiveCfg = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|Win32.Build.0 = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2008|x64.ActiveCfg = Debug fprintf_s|x64
@@ -131,6 +173,10 @@ Global
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|Win32.Build.0 = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|x64.ActiveCfg = Debug fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2009|x64.Build.0 = Debug fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|Win32.ActiveCfg = Debug fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|Win32.Build.0 = Debug fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|x64.ActiveCfg = Debug fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin2010|x64.Build.0 = Debug fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin80|Win32.ActiveCfg = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin80|Win32.Build.0 = Debug fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.DebugPlugin80|x64.ActiveCfg = Debug fprintf_s|x64
@@ -147,6 +193,18 @@ Global
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|Win32.Build.0 = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|x64.ActiveCfg = Release fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2009|x64.Build.0 = Release fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|Win32.ActiveCfg = Release fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|Win32.Build.0 = Release fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|x64.ActiveCfg = Release fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsole2010|x64.Build.0 = Release fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release fprintf_s ProgDB|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release fprintf_s ProgDB|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release fprintf_s ProgDB|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release fprintf_s ProgDB|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|Win32.ActiveCfg = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|Win32.Build.0 = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2008|x64.ActiveCfg = Release fprintf_s|x64
@@ -155,6 +213,10 @@ Global
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|Win32.Build.0 = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|x64.ActiveCfg = Release fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2009|x64.Build.0 = Release fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|Win32.ActiveCfg = Release fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|Win32.Build.0 = Release fprintf_s|Win32
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|x64.ActiveCfg = Release fprintf_s|x64
+ {EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin2010|x64.Build.0 = Release fprintf_s|x64
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin80|Win32.ActiveCfg = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin80|Win32.Build.0 = Release fprintf_s|Win32
{EAB66F01-60B5-43C9-B78D-A8B0B545A20B}.ReleasePlugin80|x64.ActiveCfg = Release fprintf_s|x64
@@ -167,10 +229,14 @@ Global
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|Win32.Build.0 = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|x64.ActiveCfg = Debug|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2008|x64.Build.0 = Debug|x64
- {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.ActiveCfg = Debug|Win32
- {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.Build.0 = Debug|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.ActiveCfg = Release ProgDB|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|Win32.Build.0 = Release ProgDB|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|x64.ActiveCfg = Debug|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2009|x64.Build.0 = Debug|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|Win32.Build.0 = Debug|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|x64.ActiveCfg = Debug|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugConsole2010|x64.Build.0 = Debug|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|Win32.Build.0 = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2008|x64.ActiveCfg = Debug|x64
@@ -179,6 +245,10 @@ Global
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|Win32.Build.0 = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|x64.ActiveCfg = Debug|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2009|x64.Build.0 = Debug|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|Win32.Build.0 = Debug|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|x64.ActiveCfg = Debug|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin2010|x64.Build.0 = Debug|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin80|Win32.ActiveCfg = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin80|Win32.Build.0 = Debug|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.DebugPlugin80|x64.ActiveCfg = Debug|x64
@@ -195,6 +265,18 @@ Global
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|Win32.Build.0 = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|x64.ActiveCfg = Release|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2009|x64.Build.0 = Release|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|Win32.Build.0 = Release|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|x64.ActiveCfg = Release|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsole2010|x64.Build.0 = Release|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release ProgDB|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release ProgDB|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release ProgDB|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release ProgDB|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|Win32.Build.0 = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2008|x64.ActiveCfg = Release|x64
@@ -203,6 +285,10 @@ Global
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|Win32.Build.0 = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|x64.ActiveCfg = Release|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2009|x64.Build.0 = Release|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|Win32.Build.0 = Release|Win32
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|x64.ActiveCfg = Release|x64
+ {2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin2010|x64.Build.0 = Release|x64
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin80|Win32.ActiveCfg = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin80|Win32.Build.0 = Release|Win32
{2C3C4869-D684-4981-98E7-6D9798B72145}.ReleasePlugin80|x64.ActiveCfg = Release|x64
@@ -219,6 +305,10 @@ Global
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|Win32.Build.0 = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|x64.ActiveCfg = Debug|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2009|x64.Build.0 = Debug|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|Win32.Build.0 = Debug|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|x64.ActiveCfg = Debug|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugConsole2010|x64.Build.0 = Debug|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|Win32.Build.0 = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2008|x64.ActiveCfg = Debug|x64
@@ -227,6 +317,10 @@ Global
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|Win32.Build.0 = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|x64.ActiveCfg = Debug|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2009|x64.Build.0 = Debug|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|Win32.Build.0 = Debug|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|x64.ActiveCfg = Debug|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin2010|x64.Build.0 = Debug|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin80|Win32.ActiveCfg = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin80|Win32.Build.0 = Debug|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.DebugPlugin80|x64.ActiveCfg = Debug|x64
@@ -243,6 +337,18 @@ Global
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|Win32.Build.0 = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|x64.ActiveCfg = Release|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2009|x64.Build.0 = Release|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|Win32.Build.0 = Release|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|x64.ActiveCfg = Release|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsole2010|x64.Build.0 = Release|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release ProgDB|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release ProgDB|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release ProgDB|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release ProgDB|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|Win32.Build.0 = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2008|x64.ActiveCfg = Release|x64
@@ -251,6 +357,10 @@ Global
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|Win32.Build.0 = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|x64.ActiveCfg = Release|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2009|x64.Build.0 = Release|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|Win32.Build.0 = Release|Win32
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|x64.ActiveCfg = Release|x64
+ {9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin2010|x64.Build.0 = Release|x64
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin80|Win32.ActiveCfg = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin80|Win32.Build.0 = Release|Win32
{9F164B41-40E0-4EFA-A7C7-A89C12B4FB39}.ReleasePlugin80|x64.ActiveCfg = Release|x64
@@ -267,6 +377,10 @@ Global
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|Win32.Build.0 = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|x64.ActiveCfg = Debug LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2009|x64.Build.0 = Debug LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|Win32.ActiveCfg = Debug LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|Win32.Build.0 = Debug LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|x64.ActiveCfg = Debug LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugConsole2010|x64.Build.0 = Debug LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|Win32.ActiveCfg = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|Win32.Build.0 = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2008|x64.ActiveCfg = Debug LibXML|x64
@@ -275,6 +389,10 @@ Global
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|Win32.Build.0 = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|x64.ActiveCfg = Debug LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2009|x64.Build.0 = Debug LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|Win32.ActiveCfg = Debug LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|Win32.Build.0 = Debug LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|x64.ActiveCfg = Debug LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin2010|x64.Build.0 = Debug LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin80|Win32.ActiveCfg = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin80|Win32.Build.0 = Debug LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.DebugPlugin80|x64.ActiveCfg = Debug LibXML|x64
@@ -291,6 +409,18 @@ Global
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|Win32.Build.0 = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|x64.ActiveCfg = Release LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2009|x64.Build.0 = Release LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|Win32.ActiveCfg = Release LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|Win32.Build.0 = Release LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|x64.ActiveCfg = Release LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsole2010|x64.Build.0 = Release LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release LibXML ProgDB|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release LibXML ProgDB|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release LibXML ProgDB|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release LibXML ProgDB|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|Win32.ActiveCfg = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|Win32.Build.0 = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2008|x64.ActiveCfg = Release LibXML|x64
@@ -299,6 +429,10 @@ Global
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|Win32.Build.0 = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|x64.ActiveCfg = Release LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2009|x64.Build.0 = Release LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|Win32.ActiveCfg = Release LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|Win32.Build.0 = Release LibXML|Win32
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|x64.ActiveCfg = Release LibXML|x64
+ {8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin2010|x64.Build.0 = Release LibXML|x64
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin80|Win32.ActiveCfg = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin80|Win32.Build.0 = Release LibXML|Win32
{8628A8F8-BD50-4463-9EE7-F9118CBA194A}.ReleasePlugin80|x64.ActiveCfg = Release LibXML|x64
@@ -315,6 +449,10 @@ Global
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|Win32.Build.0 = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|x64.ActiveCfg = Debug LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2009|x64.Build.0 = Debug LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|Win32.ActiveCfg = Debug LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|Win32.Build.0 = Debug LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|x64.ActiveCfg = Debug LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugConsole2010|x64.Build.0 = Debug LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|Win32.ActiveCfg = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|Win32.Build.0 = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2008|x64.ActiveCfg = Debug LibXML|x64
@@ -323,6 +461,10 @@ Global
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|Win32.Build.0 = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|x64.ActiveCfg = Debug LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2009|x64.Build.0 = Debug LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|Win32.ActiveCfg = Debug LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|Win32.Build.0 = Debug LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|x64.ActiveCfg = Debug LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin2010|x64.Build.0 = Debug LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin80|Win32.ActiveCfg = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin80|Win32.Build.0 = Debug LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.DebugPlugin80|x64.ActiveCfg = Debug LibXML|x64
@@ -339,6 +481,18 @@ Global
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|Win32.Build.0 = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|x64.ActiveCfg = Release LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2009|x64.Build.0 = Release LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|Win32.ActiveCfg = Release LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|Win32.Build.0 = Release LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|x64.ActiveCfg = Release LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsole2010|x64.Build.0 = Release LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release LibXML ProgDB|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release LibXML ProgDB|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release LibXML ProgDB|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release LibXML ProgDB|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|Win32.ActiveCfg = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|Win32.Build.0 = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2008|x64.ActiveCfg = Release LibXML|x64
@@ -347,6 +501,10 @@ Global
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|Win32.Build.0 = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|x64.ActiveCfg = Release LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2009|x64.Build.0 = Release LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|Win32.ActiveCfg = Release LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|Win32.Build.0 = Release LibXML|Win32
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|x64.ActiveCfg = Release LibXML|x64
+ {0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin2010|x64.Build.0 = Release LibXML|x64
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin80|Win32.ActiveCfg = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin80|Win32.Build.0 = Release LibXML|Win32
{0B6C3FEA-0065-44D2-A69A-28F810A4F2AF}.ReleasePlugin80|x64.ActiveCfg = Release LibXML|x64
@@ -363,6 +521,10 @@ Global
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|Win32.Build.0 = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|x64.ActiveCfg = Debug|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2009|x64.Build.0 = Debug|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|Win32.Build.0 = Debug|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|x64.ActiveCfg = Debug|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugConsole2010|x64.Build.0 = Debug|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|Win32.Build.0 = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2008|x64.ActiveCfg = Debug|x64
@@ -371,6 +533,10 @@ Global
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|Win32.Build.0 = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|x64.ActiveCfg = Debug|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2009|x64.Build.0 = Debug|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|Win32.Build.0 = Debug|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|x64.ActiveCfg = Debug|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin2010|x64.Build.0 = Debug|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin80|Win32.ActiveCfg = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin80|Win32.Build.0 = Debug|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.DebugPlugin80|x64.ActiveCfg = Debug|x64
@@ -387,6 +553,18 @@ Global
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|Win32.Build.0 = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|x64.ActiveCfg = Release|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2009|x64.Build.0 = Release|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|Win32.Build.0 = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|x64.ActiveCfg = Release|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsole2010|x64.Build.0 = Release|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|Win32.Build.0 = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2008|x64.ActiveCfg = Release|x64
@@ -395,6 +573,10 @@ Global
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|Win32.Build.0 = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|x64.ActiveCfg = Release|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2009|x64.Build.0 = Release|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|Win32.Build.0 = Release|Win32
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|x64.ActiveCfg = Release|x64
+ {D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin2010|x64.Build.0 = Release|x64
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin80|Win32.ActiveCfg = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin80|Win32.Build.0 = Release|Win32
{D7F466F4-2AEA-4648-BE09-024C887BC157}.ReleasePlugin80|x64.ActiveCfg = Release|x64
@@ -411,6 +593,10 @@ Global
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|Win32.Build.0 = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|x64.ActiveCfg = Debug|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2009|x64.Build.0 = Debug|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|Win32.Build.0 = Debug|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|x64.ActiveCfg = Debug|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugConsole2010|x64.Build.0 = Debug|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|Win32.Build.0 = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2008|x64.ActiveCfg = Debug|x64
@@ -419,6 +605,10 @@ Global
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|Win32.Build.0 = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|x64.ActiveCfg = Debug|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2009|x64.Build.0 = Debug|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|Win32.Build.0 = Debug|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|x64.ActiveCfg = Debug|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin2010|x64.Build.0 = Debug|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin80|Win32.ActiveCfg = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin80|Win32.Build.0 = Debug|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.DebugPlugin80|x64.ActiveCfg = Debug|x64
@@ -435,6 +625,18 @@ Global
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|Win32.Build.0 = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|x64.ActiveCfg = Release|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2009|x64.Build.0 = Release|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|Win32.Build.0 = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|x64.ActiveCfg = Release|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsole2010|x64.Build.0 = Release|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|Win32.Build.0 = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2008|x64.ActiveCfg = Release|x64
@@ -443,6 +645,10 @@ Global
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|Win32.Build.0 = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|x64.ActiveCfg = Release|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2009|x64.Build.0 = Release|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|Win32.Build.0 = Release|Win32
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|x64.ActiveCfg = Release|x64
+ {71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin2010|x64.Build.0 = Release|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin80|Win32.ActiveCfg = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin80|Win32.Build.0 = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin80|x64.ActiveCfg = Release|x64
@@ -451,6 +657,78 @@ Global
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin85|Win32.Build.0 = Release|Win32
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin85|x64.ActiveCfg = Release|x64
{71A48A24-8603-49FB-9458-CB4E97309378}.ReleasePlugin85|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2008|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2009|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugConsole2010|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2008|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2009|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin2010|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin80|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin80|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin80|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin80|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin85|Win32.ActiveCfg = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin85|Win32.Build.0 = Debug|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin85|x64.ActiveCfg = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.DebugPlugin85|x64.Build.0 = Debug|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2008|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2009|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsole2010|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|Win32.ActiveCfg = Release ProgDB|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|Win32.Build.0 = Release ProgDB|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|x64.ActiveCfg = ReleaseConsoleProgDB2009|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2009|x64.Build.0 = ReleaseConsoleProgDB2009|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|Win32.ActiveCfg = Release ProgDB|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|Win32.Build.0 = Release ProgDB|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|x64.ActiveCfg = ReleaseConsoleProgDB2010|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleaseConsoleProgDB2010|x64.Build.0 = ReleaseConsoleProgDB2010|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2008|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2009|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin2010|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin80|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin80|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin80|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin80|x64.Build.0 = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin85|Win32.ActiveCfg = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin85|Win32.Build.0 = Release|Win32
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin85|x64.ActiveCfg = Release|x64
+ {F1DEFC38-6AA9-4799-983B-96610117CAF7}.ReleasePlugin85|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
View
3,360 COLLADAMaya/COLLADAMaya.xcodeproj/project.pbxproj
2,846 additions, 514 deletions not shown
View
4 COLLADAMaya/INSTALL_LINUX.TXT
@@ -15,9 +15,9 @@ version. Following environment variables to your Maya location are supported:
You have to copy following files:
- The COLLADAMaya.so file to your personal Maya plug-in directory.
($YOUR_MAYA_PATH)/plug-ins
-- The colladaNextGenExporterOpts.mel file to your Maya scripts directory.
+- The openColladaExporterOpts.mel file to your Maya scripts directory.
($YOUR_MAYA_PATH)/scripts
-- the colladaNextGenImporterOpts.mel file to your Maya scripts directory.
+- the openColladaImporterOpts.mel file to your Maya scripts directory.
($YOUR_MAYA_PATH)/scripts
You can also define a environment variable "MAYA_PLUG_IN_PATH" and put the
View
21 COLLADAMaya/INSTALL_MAC.TXT
@@ -3,8 +3,9 @@ Requirements:
To run the COLLADAMaya plug-in, you need a version of Autodesk Maya installed.
Supported versions are:
-Autodesk Maya 2008
+Autodesk Maya 2010
Autodesk Maya 2009
+Autodesk Maya 2008
For help on build, please read the BUILD file.
@@ -15,21 +16,25 @@ 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_PATH2008
+- 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/2008/plug-ins respectively
- /Users/Shared/Autodesk/maya/2009/plug-ins
-- ~project_dir/COLLADAMaya/scripts/colladaNextGenExporterOpts.mel to your
+ /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/2008/scripts respectively
+ /Users/Shared/Autodesk/maya/2010/scripts respectively
+ /Users/Shared/Autodesk/maya/2009/scripts respectively
/Users/Shared/Autodesk/maya/2008/scripts
-- ~project_dir/COLLADAMaya/scripts/colladaNextGenImporterOpts.mel to your
+- ~project_dir/COLLADAMaya/scripts/openColladaImporterOpts.mel to your
personal Maya scripts directory. The default directory on OSMac is
- /Users/Shared/Autodesk/maya/2008/scripts respectively
+ /Users/Shared/Autodesk/maya/2010/scripts respectively
+ /Users/Shared/Autodesk/maya/2009/scripts respectively
/Users/Shared/Autodesk/maya/2008/scripts
You can also define a environment variable "MAYA_PLUG_IN_PATH" and put the
View
15 COLLADAMaya/INSTALL_WIN.TXT
@@ -3,8 +3,9 @@ Requirements:
To run the COLLADAMaya plug-in, you need a version of Autodesk Maya installed.
Supported versions are:
-Autodesk Maya 2008
+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
@@ -22,6 +23,8 @@ 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
@@ -29,18 +32,16 @@ version. Following environment variables to your Maya location are supported:
If you install the binary, you have to copy following files:
- "COLLADAMaya.mll" to $(YOUR_MAYA_PATH)/bin/plug-ins
-- "colladaNextGenExporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others
-- "colladaNextGenImporterOpts.mel" to $(YOUR_MAYA_PATH)/scripts/others
+- "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
+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
+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.
View
2  COLLADAMaya/LICENSE.TXT
@@ -1,4 +1,4 @@
-Copyright (c) 2008 NetAllied Systems GmbH
+Copyright (c) 2009 NetAllied Systems GmbH
Portions of the code are:
Copyright (c) 2005-2007 Feeling Software Inc.
View
4 COLLADAMaya/TODO.TXT
@@ -15,10 +15,6 @@
(possible solution could be the animation formula from collada 1.5)
- clip animation import
-- Controller
- - skin controller import
- - morph controller import
-
- Physical scene import/export
- Subdivision surfaces import/export
View
4 COLLADAMaya/include/COLLADAMayaAnimationCurves.h
@@ -355,7 +355,7 @@ namespace COLLADAMaya
T* BaseAnimationCurve<T>::getKey ( size_t index ) const
{
if ( mKeys.size() < index )
- MGlobal::displayError ( MString ( "Key index not valid! " + index ) );
+ std::cerr << "Key index not valid! " + index << endl;
return mKeys[index];
}
@@ -400,7 +400,7 @@ namespace COLLADAMaya
{
if ( currentKey == NULL )
{
- MGlobal::displayError ( MString ( "Current key is null!" ) );
+ std::cerr << "Current key is null!" << endl;
return;
}
View
5 COLLADAMaya/include/COLLADAMayaAnimationExporter.h
@@ -535,8 +535,9 @@ namespace COLLADAMaya
* @param outTangents The list for the output tangent values.
* @param outputList The list with the output values.
*/
- void createMultiCurveTangents ( AnimationMKey* key,
- uint dimension,
+ void createMultiCurveTangents ( const AnimationMKey* key,
+ const uint dimension,
+ const bool convertUnits,
std::vector<float> &inTangents,
std::vector<float> &outTangents,
float* outputList );
View
69 COLLADAMaya/include/COLLADAMayaAnimationImporter.h
@@ -1,7 +1,7 @@
/*
Copyright (c) 2008-2009 NetAllied Systems GmbH
- This file is part of COLLADAFramework.
+ This file is part of COLLADAMaya.
Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
@@ -13,6 +13,7 @@
#include "COLLADAMayaPrerequisites.h"
#include "COLLADAMayaBaseImporter.h"
+#include "COLLADAMayaMayaTransform.h"
#include "COLLADAFWAnimationCurve.h"
#include "COLLADAFWAnimationList.h"
@@ -39,6 +40,9 @@ namespace COLLADAMaya
/** The standard name for an animation. */
static const String ANIMATION_NAME;
+ /** The framerate of the animation. */
+ static const double ANIM_FRAMERATE;
+
/**
* Most common tangent type of keyframes in this curve. Used as a performance optimization
* during file store/retrieve. The following are legal values:
@@ -58,12 +62,31 @@ namespace COLLADAMaya
TANGENT_TYPE_STEP_NEXT = 17 // Collada: BEZIER
};
- private:
-
/**
- * The list of the unique maya animation names.
+ * Store the minimum and the maximum animation time.
*/
- COLLADABU::IDList mAnimationIdList;
+ class PlaybackOptions
+ {
+ private:
+ double mMinStartTime;
+ double mMaxEndTime;
+ public:
+ PlaybackOptions () : mMinStartTime (0), mMaxEndTime (0) {}
+ virtual ~PlaybackOptions () {}
+
+ void setTimeValue ( double timeValue )
+ {
+ if ( timeValue > mMaxEndTime )
+ mMaxEndTime = timeValue;
+ else if ( timeValue < mMinStartTime )
+ mMinStartTime = timeValue;
+ }
+
+ const double getMinStartTime () const { return mMinStartTime; }
+ const double getMaxEndTime () const { return mMaxEndTime; }
+ };
+
+ private:
/**
* The list of the unique animation ids.
@@ -81,8 +104,9 @@ namespace COLLADAMaya
std::map<COLLADAFW::UniqueId, std::vector<MayaDM::AnimCurve*> > mMayaDMAnimationCurves;
/**
- * The map holds for every animation curve a list of node ids, which use this connections.
+ * Store the minimum and the maximum animation time.
*/
+ PlaybackOptions mPlaybackOptions;
public:
@@ -98,21 +122,28 @@ namespace COLLADAMaya
void importAnimation ( const COLLADAFW::Animation* animation );
/**
- * The map holds for every unique animation id the maya animatio curve.
- */
- const std::vector<MayaDM::AnimCurve*>* findMayaDMAnimCurves (
- const COLLADAFW::UniqueId& animationId );
+ * Get the minimum and the maximum time values of the animations to get the start
+ * time and the end time of the animation. This times we have to set as the
+ * "playbackOptions" in the "sceneConfigurationScriptNode".
+ */
+ void importPlaybackOptions ();
/**
* Makes the connections between the animations and the animated objects.
*/
void writeConnections ( const COLLADAFW::AnimationList* animationList );
- void writeEffectConnections (
+ private:
+
+ void connectMorphControllers (
+ const COLLADAFW::UniqueId& animationListId,
+ const COLLADAFW::AnimationList::AnimationBindings& animationBindings );
+
+ void connectEffects (
const COLLADAFW::UniqueId& animationListId,
const COLLADAFW::AnimationList::AnimationBindings& animationBindings );
- void writeTransformConnections (
+ void connectTransforms (
const COLLADAFW::UniqueId& animationListId,
const COLLADAFW::AnimationList::AnimationBindings& animationBindings );
@@ -136,11 +167,11 @@ namespace COLLADAMaya
*/
void writeRotateConnections (
const COLLADAFW::Transformation* transformation,
+ const MayaTransform::TransformPhase& transformPhase,
+ const bool isJointTransform,
const COLLADAFW::AnimationList::AnimationBindings& animationBindings,
const MayaDM::Transform* transform );
- private:
-
/**
* Imports the data of an animtion curve (no formula).
*/
@@ -151,8 +182,7 @@ namespace COLLADAMaya
*/
void writeAnimationCurve (
const COLLADAFW::AnimationCurve* animationCurve,
- const TangentType& tangentType = TANGENT_TYPE_DEFAULT,
- const TangentType& keyTangentOutType = TANGENT_TYPE_DEFAULT );
+ const TangentType& tangentType = TANGENT_TYPE_DEFAULT );
/**
* Multiple interpolation types. Curve by keys.
@@ -282,6 +312,13 @@ namespace COLLADAMaya
*/
const bool findAnimationList ( const COLLADAFW::UniqueId& animationListId );
+ /**
+ * The map holds for every unique animation id the maya animatio curve.
+ */
+ const std::vector<MayaDM::AnimCurve*>* findMayaDMAnimCurves (
+ const COLLADAFW::UniqueId& animationId );
+
+
private:
/** Disable default copy ctor. */
View
46 COLLADAMaya/include/COLLADAMayaBaseAnimation.h
@@ -0,0 +1,46 @@
+/*
+ Copyright (c) 2008-2009 NetAllied Systems GmbH
+
+ 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 __COLLADAMAYA_BASEANIMATION_H__
+#define __COLLADAMAYA_BASEANIMATION_H__
+
+#include "COLLADAMayaPrerequisites.h"
+
+#include "COLLADAFWUniqueId.h"
+
+
+namespace COLLADAMaya
+{
+
+ /** Base class to hold the animation data. */
+ class BaseAnimation
+ {
+ private:
+ COLLADAFW::UniqueId mAnimationListId;
+ COLLADAFW::UniqueId mAnimationSourceId;
+
+ public:
+
+ /** Constructor. */
+ BaseAnimation();
+
+ /** Destructor. */
+ virtual ~BaseAnimation();
+
+ const COLLADAFW::UniqueId& getAnimationListId () const { return mAnimationListId; }
+ void setAnimationListId ( const COLLADAFW::UniqueId& val ) { mAnimationListId = val; }
+
+ const COLLADAFW::UniqueId& getAnimationSourceId () const { return mAnimationSourceId; }
+ void setAnimationSourceId ( const COLLADAFW::UniqueId& val ) { mAnimationSourceId = val; }
+ };
+
+} // namespace COLLADAMAYA
+
+#endif // __COLLADAMAYA_BASEANIMATION_H__
View
65 COLLADAMaya/include/COLLADAMayaBaseImporter.h
@@ -26,6 +26,7 @@
#include "MayaDMLambert.h"
#include "COLLADAFWFloatOrDoubleArray.h"
+#include "COLLADAFWExtraData.h"
namespace COLLADAMaya
@@ -37,9 +38,6 @@ namespace COLLADAMaya
{
public:
- typedef std::set<const COLLADAFW::UniqueId> UniqueIdSet;
- typedef std::pair<COLLADAFW::UniqueId, COLLADAFW::UniqueId> UniqueIdsPair;
-
typedef std::map<COLLADAFW::UniqueId, COLLADAFW::UniqueId> UniqueIdUniqueIdMap;
typedef std::map<COLLADAFW::UniqueId, String> UniqueIdStringMap;
@@ -54,28 +52,30 @@ namespace COLLADAMaya
typedef std::map<COLLADAFW::UniqueId, MayaDM::DependNode*> UniqueIdDependNodeMap;
- typedef std::pair<COLLADAFW::UniqueId,COLLADAFW::MaterialId> UniqueIdMaterialIdPair;
- typedef std::vector<size_t> IndicesVector;
- typedef std::map<UniqueIdMaterialIdPair, IndicesVector> CombinedIdIndicesMap;
-
typedef std::map<COLLADAFW::UniqueId, size_t> UniqueIdElementCountMap;
typedef std::vector<MayaDM::Lambert*> MayaEffectList;
typedef std::map< COLLADAFW::UniqueId, MayaEffectList > UniqueIdMayaEffectsMap;
+ /** Maps Unique id to framework nodes.*/
+ typedef std::map<COLLADAFW::UniqueId, const COLLADAFW::Node*> UniqueIdFWNodeMap;
+
public:
/** The maya block size value for writing maya ascii files. */
static const size_t MAYA_BLOCK_SIZE;
- /** The standard name for the collada id attribute. */
- static const String COLLADA_ID_ATTRIBUTE_NAME;
+ static const String ATTRIBUTE_DATA_TYPE;
+ static const String ATTRIBUTE_TYPE;
+ static const String ATTRIBUTE_TYPE_STRING;
protected:
/** The standard name for a group without name. */
static const String GROUP_ID_NAME;
+ static const String GROUP_ID_NAME_APPEND;
static const String GROUP_PARTS_NAME;
+ static const String GROUP_PARTS_NAME_APPEND;
private:
@@ -148,6 +148,24 @@ namespace COLLADAMaya
*/
float toLinearUnit ( const float val );
+ /**
+ * This unit convert factor calculates always the centimeter unit, because this is
+ * the maya internal unit.
+ * This is need for conversion of the skin controller bind shape and geometry (?) matrix
+ * translate values conversion, because maya doesn't calculate the right values on linear
+ * unit switching.
+ */
+ double toMayaBindShapeBugLinearUnit ( const double val );
+
+ /**
+ * This unit convert factor calculates always the centimeter unit, because this is
+ * the maya internal unit.
+ * This is need for conversion of the skin controller bind shape and geometry (?) matrix
+ * translate values conversion, because maya doesn't calculate the right values on linear
+ * unit switching.
+ */
+ float toMayaBindShapeBugLinearUnit ( const float val );
+
protected:
/** Returns a pointer to the current document importer. */
@@ -169,6 +187,35 @@ namespace COLLADAMaya
const COLLADAFW::FloatOrDoubleArray &inputValuesArray,
const size_t position );
+ /**
+ * Returns the value at the given position of the given array as float value.
+ */
+ float getFloatValue (
+ const COLLADAFW::FloatOrDoubleArray &inputValuesArray,
+ const size_t position );
+
+ /**
+ * Generates a unique depend node id and add the node in all necessary lists.
+ */
+ String generateUniqueDependNodeName (
+ String nodeName,
+ bool returnConverted = true,
+ bool alwaysAddNumberSuffix = false );
+
+ /**
+ * Generates a unique scene graph dag node id and add the node in all necessary lists.
+ */
+ String generateUniqueDagNodeName (
+ String nodeName,
+ MayaNode* parentMayaNode,
+ bool returnConverted = true,
+ bool alwaysAddNumberSuffix = false );
+
+ /**
+ * Reads the original maya id from the extra tags, if it exist in the framework data.
+ */
+ String getOriginalMayaId ( const COLLADAFW::ExtraDataArray &extraDataArray );
+
};
}
View
5 COLLADAMaya/include/COLLADAMayaCameraImporter.h
@@ -35,11 +35,6 @@ namespace COLLADAMaya
private:
- /**
- * The list of the unique maya camera names.
- */
- COLLADABU::IDList mCameraIdList;
-
/**
* The map holds the unique ids of the camera nodes to the maya specific nodes.
*/
View
42 COLLADAMaya/include/COLLADAMayaControllerExporter.h
@@ -23,6 +23,8 @@
#include "COLLADAMayaSkinController.h"
#include "COLLADAMayaMorphController.h"
+#include "COLLADABUIDList.h"
+
#include <vector>
#include <map>
@@ -51,8 +53,7 @@ namespace COLLADAMaya
{
bool isSkin;
MObject skinControllerNode;
- /** Used to disable the blend shape. */
- float envelope;
+ float envelope; // Used to disable the blend shape.
MObjectArray morphControllerNodes;
std::vector<int> nodeStates;
};
@@ -69,12 +70,12 @@ namespace COLLADAMaya
};
typedef std::vector<ControllerMeshItem> ControllerMeshStack;
+
/**
* Class to control the skins and morphs
*/
class ControllerExporter : public COLLADASW::LibraryControllers
{
-
private:
/** Parameter, used for the bind poses transform. */
@@ -94,13 +95,29 @@ namespace COLLADAMaya
private:
- /** Pointer to the document exporter. */
+ /**
+ * Pointer to the document exporter.
+ */
DocumentExporter* mDocumentExporter;
- /** List of controllerIds from the already exported controllers. */
+ /**
+ * The list of the unique collada ids.
+ */
+ COLLADABU::IDList mControllerIdList;
+
+ /**
+ * A collada id for every maya id.
+ */
+ StringToStringMap mMayaIdColladaIdMap;
+
+ /**
+ * List of controllerIds from the already exported controllers.
+ */
std::vector<String> mExportedControllers;
- /** A list of the exported controller scene elements. */
+ /**
+ * A list of the exported controller scene elements.
+ */
std::vector<SceneElement*> mExportedControllerSceneElements;
public:
@@ -174,6 +191,11 @@ namespace COLLADAMaya
*/
static void deleteControllerStackItems ( ControllerStack &stack );
+ /**
+ * A collada id for every maya id.
+ */
+ const String findColladaControllerId ( const String& mayaControllerId );
+
private:
/** Returns the tolerance value for double value comparison. */
@@ -337,7 +359,8 @@ namespace COLLADAMaya
SkinController* skinController,
const MFnGeometryFilter& clusterFn,
const bool isJointCluster,
- const uint clusterIndex );
+ const uint clusterIndex,
+ SceneElement* sceneElement );
/**
* Gather the joints of the current controller node and writes them as
@@ -414,7 +437,6 @@ namespace COLLADAMaya
uint numInfluences );
/**
- * @todo documentation
* @param colladaInfluences List for the vertex influences.
* @param weightFilters The list with the weight filters.
* @param outputShape The current output shape.
@@ -425,10 +447,6 @@ namespace COLLADAMaya
const MObjectArray &weightFilters,
const MDagPath &outputShape,
const uint clusterIndex );
-
-
- // Support for Joint clusters pipeline
-// void getJointClusterInfluences(const MObject& controllerNode, MDagPathArray& influences, MObjectArray& weightFilters, uint clusterIndex);
};
}
View
327 COLLADAMaya/include/COLLADAMayaControllerImporter.h
@@ -1,7 +1,7 @@
/*
Copyright (c) 2008-2009 NetAllied Systems GmbH
- This file is part of COLLADAFramework.
+ This file is part of COLLADAMaya.
Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
@@ -13,12 +13,14 @@
#include "COLLADAMayaPrerequisites.h"
#include "COLLADAMayaBaseImporter.h"
+#include "COLLADAMayaMorphAnimation.h"
#include "MayaDMSkinCluster.h"
#include "MayaDMTweak.h"
#include "MayaDMObjectSet.h"
#include "MayaDMGroupId.h"
#include "MayaDMGroupParts.h"
+#include "MayaDMBlendShape.h"
#include "COLLADAFWSkinController.h"
@@ -47,36 +49,54 @@ namespace COLLADAMaya
/** The standard name for controller without name. */
static const String SKIN_CLUSTER_NAME;
+ static const String BLEND_SHAPE_NAME;
static const String TWEAK_NAME;
static const String SET_NAME;
public:
/**
- * Create a data store object to hold all the MayaDM objects of the current controller.
- * The objects will be needed, to make all the connections.
- */
- class MayaSkinClusterData
+ * Create a data store object to hold all the MayaDM objects of the current controller.
+ * The objects will be needed, to make all the connections.
+ */
+ class GeometryFilterData
{
+ public:
+ enum GeometryFilterType
+ {
+ GEOMETRY_FILTER_TYPE_SKIN_CLUSTER,
+ GEOMETRY_FILTER_TYPE_BLEND_SHAPE,
+ GEOMETRY_FILTER_TYPE_UNKNOWN
+ };
private:
- MayaDM::SkinCluster mSkinCluster;
- MayaDM::ObjectSet mSkinClusterSet;
+ GeometryFilterType mGeometryFilterType;
+ MayaDM::GeometryFilter* mGeometryFilter;
+ MayaDM::ObjectSet mGeometryFilterSet;
MayaDM::Tweak mTweak;
MayaDM::ObjectSet mTweakSet;
- MayaDM::GroupId mGroupId1;
- MayaDM::GroupId mGroupId2;
- MayaDM::GroupParts mGroupParts1;
- MayaDM::GroupParts mGroupParts2;
+ MayaDM::GroupId mGeometryFilterGroupId;
+ MayaDM::GroupId mTweakGroupId;
+ MayaDM::GroupParts mGeometryFilterGroupParts;
+ MayaDM::GroupParts mTweakGroupParts;
public:
- MayaSkinClusterData () {}
- virtual ~MayaSkinClusterData () {}
+ GeometryFilterData ( GeometryFilterType geometryFilterType )
+ : mGeometryFilterType ( geometryFilterType )
+ {}
+
+ virtual ~GeometryFilterData ()
+ {
+ delete mGeometryFilter;
+ }
- const MayaDM::SkinCluster& getSkinCluster () const { return mSkinCluster; }
- void setSkinCluster ( const MayaDM::SkinCluster& val ) { mSkinCluster = val; }
+ const GeometryFilterData::GeometryFilterType& getGeometryFilterType () const { return mGeometryFilterType; }
- const MayaDM::ObjectSet& getSkinClusterSet () const { return mSkinClusterSet; }
- void setSkinClusterSet ( const MayaDM::ObjectSet& val ) { mSkinClusterSet = val; }
+ MayaDM::GeometryFilter* getGeometryFilter () { return mGeometryFilter; }
+ const MayaDM::GeometryFilter* getGeometryFilter () const { return mGeometryFilter; }
+ void setGeometryFilter ( MayaDM::GeometryFilter* val ) { mGeometryFilter = val; }
+
+ const MayaDM::ObjectSet& getGeometryFilterSet () const { return mGeometryFilterSet; }
+ void setGeometryFilterSet ( const MayaDM::ObjectSet& val ) { mGeometryFilterSet = val; }
const MayaDM::Tweak& getTweak () const { return mTweak; }
void setTweak ( const MayaDM::Tweak& val ) { mTweak = val; }
@@ -84,26 +104,56 @@ namespace COLLADAMaya
const MayaDM::ObjectSet& getTweakSet () const { return mTweakSet; }
void setTweakSet ( const MayaDM::ObjectSet& val ) { mTweakSet = val; }
- const MayaDM::GroupId& getGroupId1 () const { return mGroupId1; }
- void setGroupId1 ( const MayaDM::GroupId& val ) { mGroupId1 = val; }
+ const MayaDM::GroupId& getGeometryFilterGroupId () const { return mGeometryFilterGroupId; }
+ void setGeometryFilterGroupId ( const MayaDM::GroupId& val ) { mGeometryFilterGroupId = val; }
- const MayaDM::GroupId& getGroupId2 () const { return mGroupId2; }
- void setGroupId2 ( const MayaDM::GroupId& val ) { mGroupId2 = val; }
+ const MayaDM::GroupId& getTweakGroupId () const { return mTweakGroupId; }
+ void setTweakGroupId ( const MayaDM::GroupId& val ) { mTweakGroupId = val; }
- const MayaDM::GroupParts& getGroupParts1 () const { return mGroupParts1; }
- void setGroupParts1 ( const MayaDM::GroupParts& val ) { mGroupParts1 = val; }
+ const MayaDM::GroupParts& getGeometryFilterGroupParts () const { return mGeometryFilterGroupParts; }
+ void setGeometryFilterGroupParts ( const MayaDM::GroupParts& val ) { mGeometryFilterGroupParts = val; }
- const MayaDM::GroupParts& getGroupParts2 () const { return mGroupParts2; }
- void setGroupParts2 ( const MayaDM::GroupParts& val ) { mGroupParts2 = val; }
+ const MayaDM::GroupParts& getTweakGroupParts () const { return mTweakGroupParts; }
+ void setTweakGroupParts ( const MayaDM::GroupParts& val ) { mTweakGroupParts = val; }
};
- private:
+ /**
+ * The MayaSkinClusterData class is a MayaGeometryFilterData class with a skinCluster object.
+ */
+ class SkinClusterData : public GeometryFilterData
+ {
+ public:
+ SkinClusterData ()
+ : GeometryFilterData ( GeometryFilterData::GEOMETRY_FILTER_TYPE_SKIN_CLUSTER )
+ {}
+ virtual ~SkinClusterData () {}
+
+ MayaDM::SkinCluster* getSkinCluster () { return (MayaDM::SkinCluster*)getGeometryFilter (); }
+ void setSkinCluster ( MayaDM::SkinCluster* val ) { setGeometryFilter ( val ); }
+
+ const MayaDM::ObjectSet& getSkinClusterSet () const { return getGeometryFilterSet (); }
+ void setSkinClusterSet ( const MayaDM::ObjectSet& val ) { setGeometryFilterSet ( val ); }
+ };
/**
- * The list of the unique maya controller names.
+ * The MayaBlendShapeData class is a MayaGeometryFilterData class with a blendShape object.
*/
- COLLADABU::IDList mSkinClusterIdList;
- COLLADABU::IDList mTweakIdList;
+ class BlendShapeData : public GeometryFilterData
+ {
+ public:
+ BlendShapeData ()
+ : GeometryFilterData ( GeometryFilterData::GEOMETRY_FILTER_TYPE_BLEND_SHAPE )
+ {}
+ virtual ~BlendShapeData () {}
+
+ MayaDM::BlendShape* getBlendShape () { return (MayaDM::BlendShape*)getGeometryFilter (); }
+ void setBlendShape ( MayaDM::BlendShape* val ) { setGeometryFilter ( val ); }
+
+ const MayaDM::ObjectSet& getBlendShapeSet () const { return getGeometryFilterSet (); }
+ void setBlendShapeSet ( const MayaDM::ObjectSet& val ) { setGeometryFilterSet ( val ); }
+ };
+
+ private:
/**
* The map holds the unique ids of the controller nodes to the maya specific nodes.
@@ -111,19 +161,34 @@ namespace COLLADAMaya
UniqueIdMayaNodeMap mMayaControllerNodesMap;
/**
- * The map holds the unique ids of the skin controller nodes to the maya specific nodes.
+ * The map holds the unique ids of the skin controller data ids.
*/
std::vector<COLLADAFW::UniqueId> mSkinControllerDataIds;
+ /**
+ * The map holds the unique ids of the morph controller ids.
+ */
+ std::vector<COLLADAFW::UniqueId> mMorphControllerIds;
+
/**
- * The map holds the skin controller objects for every source (mesh or morph controller).
+ * The map holds the skin controller objects for every source (mesh or skin controller).
*/
std::map<COLLADAFW::UniqueId, std::vector<COLLADAFW::SkinController*> > mSkinControllersMap;
/**
+ * The map holds the morph controller objects for every source (mesh).
+ */
+ std::map<COLLADAFW::UniqueId, std::vector<COLLADAFW::MorphController*> > mMorphControllersMap;
+
+ /**
+ * The map holds the morph controller objects for every morph target object (mesh).
+ */
+ std::map<COLLADAFW::UniqueId, std::vector<COLLADAFW::MorphController*> > mMorphTargetsMap;
+
+ /**
* The map holds a list of controller objects.
*/
- std::map<COLLADAFW::UniqueId, MayaSkinClusterData> mMayaSkinClustersDataMap;
+ std::map<COLLADAFW::UniqueId, GeometryFilterData*> mGeometryFilterDataMap;
/**
* The initial index position in depend on the number of controllers.
@@ -132,6 +197,16 @@ namespace COLLADAMaya
*/
std::map<COLLADAFW::UniqueId, size_t> mObjectGroupsInitialIndexMap;
+ /**
+ * The map contains for every morph controller the morph targets (mesh or controller objects).
+ */
+ std::map<COLLADAFW::UniqueId, std::vector<COLLADAFW::UniqueId> > mMorphTargetIds;
+
+ /**
+ * The map holds for every animationListId the unique id of corresponding node.
+ */
+ std::map <COLLADAFW::UniqueId, MorphAnimation> mMorphAnimationMap;
+
public:
/** Constructor. */
@@ -149,64 +224,88 @@ namespace COLLADAMaya
/**
* Imports the data of the current controller.
+ * Returns true, if the import was successful.
*/
- void importSkinControllerData ( const COLLADAFW::SkinControllerData* skinControllerData );
+ bool importSkinControllerData ( const COLLADAFW::SkinControllerData* skinControllerData );
/**
- * Create a maya skin cluster object and the skin cluster object set with all needed maya
- * objects to create the connections of the skinCluster.
- * SkinCluster nodes are created during a smooth bindSkin. The purpose of the skinCluster
- * is to store a weight per influence object for each component of each geometry that is
- * deformed. Influence objects can be joints or any transform.
- * Note that unlike most deformers, a skinCluster node can deform only a single geometry.
- * Therefore, if additional geometries are added to the skinCluster set, they will be ignored.
+ * Imports the copied morph controllers.
*/
- void createSkinCluster (
- const COLLADAFW::SkinControllerData* skinControllerData,
- MayaSkinClusterData& controllerData );
+ void importMorphControllers ();
/**
- * Create all maya objects, which are needed to connect a maya skinCluster to a geometry.
+ * Make the connections for the controller.
+ */
+ void writeConnections ();
+
+ /**
+ * Returns the controller element, which uses the given source. If no controller
+ * uses the source, the method returns null. Can be a skin or morph controller.
*/
- void createSkinClusterBindingObjects ( MayaSkinClusterData &controllerData );
+ const COLLADAFW::Controller* findController ( const COLLADAFW::UniqueId& controllerId );
/**
- * Write the weights into the maya ascii file.
- */
- void writeWeights (
- MayaDM::SkinCluster &skinCluster,
- std::vector<double> &currentWeightList,
- const size_t influenceIndex,
- const unsigned int jointStartIndex,
- const unsigned int jointEndIndex );
+ * Returns the morph controller element, which uses the given source. If no morph controller
+ * uses the source, the method returns null.
+ */
+ const COLLADAFW::MorphController* findMorphController ( const COLLADAFW::UniqueId& controllerId );
/**
- * Make the connections for the controller.
- */
- void writeConnections ();
+ * Returns the skin controller element, which uses the given source. If no skin controller
+ * uses the source, the method returns null.
+ */
+ const COLLADAFW::SkinController* findSkinController ( const COLLADAFW::UniqueId& controllerId );
/**
- * Returns the skin controller element, with the given skinControllerDataId.
- * If no skin controller uses the source, the method returns null.
+ * Returns true, if there exist a controller element, which use this geometry.
*/
- const std::vector<COLLADAFW::SkinController*> findSkinControllersByDataId ( const COLLADAFW::UniqueId& skinControllerDataId );
+ bool isSourceControlled ( const COLLADAFW::UniqueId& sourceId );
+
+ /**
+ * Returns the skin controller element, which uses the given source.
+ */
+ std::vector<COLLADAFW::Controller*> findControllersBySourceId ( const COLLADAFW::UniqueId& sourceId );
+
+ /**
+ * Returns the morph controller element, which uses the given source. If no morph controller
+ * uses the source, the method returns null.
+ */
+ std::vector<COLLADAFW::MorphController*>* findMorphControllersBySourceId ( const COLLADAFW::UniqueId& sourceId );
+
+ /**
+ * Returns the morph controller element, which uses the given source. If no morph controller
+ * uses the source, the method returns null.
+ */
+ const std::vector<COLLADAFW::MorphController*>* findMorphControllersBySourceId ( const COLLADAFW::UniqueId& sourceId ) const;
+
+ /**
+ * Returns the morph controller element, which uses the given geometry as a morph target.
+ * If no morph controller uses the source, the method returns null.
+ */
+ std::vector<COLLADAFW::MorphController*>* findMorphControllersByMorphTargetId ( const COLLADAFW::UniqueId& geometryId );
+
+ /**
+ * Returns the morph controller element, which uses the given geometry as a morph target.
+ * If no morph controller uses the source, the method returns null.
+ */
+ const std::vector<COLLADAFW::MorphController*>* findMorphControllersByMorphTargetId ( const COLLADAFW::UniqueId& geometryId ) const;
/**
* Returns the skin controller element, which uses the given source. If no skin controller
* uses the source, the method returns null.
*/
- const COLLADAFW::SkinController* findSkinController ( const COLLADAFW::UniqueId& controllerId );
+ std::vector<COLLADAFW::SkinController*>* findSkinControllersBySourceId ( const COLLADAFW::UniqueId& sourceId );
/**
* Returns the skin controller element, which uses the given source. If no skin controller
* uses the source, the method returns null.
*/
- const std::vector<COLLADAFW::SkinController*>* findSkinControllersBySourceId ( const COLLADAFW::UniqueId& sourceId );
+ const std::vector<COLLADAFW::SkinController*>* findSkinControllersBySourceId ( const COLLADAFW::UniqueId& sourceId ) const;
/**
* Returns the geometryId of the skinController's id.
*/
- const COLLADAFW::UniqueId* getControllersGeometryId ( const COLLADAFW::UniqueId& controllerId );
+ const COLLADAFW::UniqueId* getControllerSourceId ( const COLLADAFW::UniqueId& controllerId ) const;
/**
* If we have one or more controllers, the material groupIds have to
@@ -216,13 +315,66 @@ namespace COLLADAMaya
const size_t findObjectGroupsInitialIndex ( const COLLADAFW::UniqueId& controllerId ) const;
/**
- * The map holds a list of controller objects.
+ * The map holds a list of maya geometry filter objects.
+ */
+ const GeometryFilterData* findGeometryFilterData ( const COLLADAFW::UniqueId& controllerId );
+
+ /**
+ * The map holds for every animationListId the unique id of corresponding node.
*/
- const MayaSkinClusterData* findMayaSkinClusterData ( const COLLADAFW::UniqueId& controllerId );
+ const MorphAnimation* findMorphAnimation ( const COLLADAFW::UniqueId& animationListId );
private:
/**
+ * Imports the current morph controller.
+ * Returns true, if the import was successful.
+ */
+ const bool importMorphController (
+ COLLADAFW::MorphController* morphController );
+
+ /**
+ * Create a maya skin cluster object and the skin cluster object set with all needed maya
+ * objects to create the connections of the skinCluster.
+ * SkinCluster nodes are created during a smooth bindSkin. The purpose of the skinCluster
+ * is to store a weight per influence object for each component of each geometry that is
+ * deformed. Influence objects can be joints or any transform.
+ * Note that unlike most deformers, a skinCluster node can deform only a single geometry.
+ * Therefore, if additional geometries are added to the skinCluster set, they will be ignored.
+ */
+ const String createSkinCluster (
+ const COLLADAFW::SkinControllerData* skinControllerData,
+ SkinClusterData& skinClusterData );
+
+ /**
+ * Create a maya blend shape object and the skin cluster object set with all needed maya
+ * objects to create the connections of the skinCluster.
+ * BlendShape nodes takes geometry as input and deforms it based on pairs of target shapes
+ * and weight values, to produce a new shape that is the specified blending of the input shapes.
+ */
+ const String createBlendShape (
+ COLLADAFW::MorphController* morphController,
+ BlendShapeData& blendShapeData );
+
+ /**
+ * Create all maya objects, which are needed to connect a maya skinCluster or a blendShape
+ * to a geometry.
+ */
+ void createGeometryFilterBindingObjects (
+ GeometryFilterData &controllerData,
+ const String& geometryFilterName );
+
+ /**
+ * Write the weights into the maya ascii file.
+ */
+ void writeWeights (
+ MayaDM::SkinCluster* skinCluster,
+ std::vector<double>& currentWeightList,
+ const size_t influenceIndex,
+ const unsigned int jointStartIndex,
+ const unsigned int jointEndIndex );
+
+ /**
* The initial index position in depend on the number of controllers.
* Every controller has two groupIds, which have to be connected to the geometry object groups.
* If we have one or more controllers, the material groupIds have to
@@ -231,29 +383,54 @@ namespace COLLADAMaya
void addControllerToObjectGroupsInitialIndex ( const COLLADAFW::UniqueId& controllerId );
/**
- * Make the controller connections to the joints.
+ * Returns true, if the skin controller data with the given unique id is already exported.
+ */
+ const bool skinControllerDataExported ( const COLLADAFW::UniqueId& skinControllerDataId ) const;
+
+ /**
+ * Returns true, if the morph controller with the given unique id is already exported.
+ */
+ bool morphControllerExported ( const COLLADAFW::UniqueId& morphControllerId );
+
+ /**
+ * Returns the skin controller element, with the given skinControllerDataId.
+ * If no skin controller uses the source, the method returns null.
+ */
+ const std::vector<COLLADAFW::SkinController*> findSkinControllersByDataId ( const COLLADAFW::UniqueId& skinControllerDataId );
+
+ /**
+ * Get the maya controller node with the given unique id.
+ */
+ MayaNode* findMayaControllerNode ( const COLLADAFW::UniqueId& controllerId );
+
+ /**
+ * Returns a vector with all morph targets of the current morph controller.
+ * If no targets exist, 0 will be returned.
*/
- void writeJointConnections ();
+ const std::vector<COLLADAFW::UniqueId>* findMorphTargets ( const COLLADAFW::UniqueId& controllerId );
/**
- * Make the controller connections to the geometry.
+ * Make the controller connections to the joints.
*/
- void writeGeometryConnections ();
+ void connectSkinControllerJoints ();
/**
- * Make all the other controller data connections.
+ * Make the connections to the morph controller targets.
*/
- void writeControllerConnections ();
+ void connectMorphControllerTargets ();
/**
- * Get the maya controller node with the given unique id.
+ * Make the controller connections to the geometry.
*/
- MayaNode* findMayaControllerNode ( const COLLADAFW::UniqueId& controllerId );
+ void connectGeometries ();
+
+ const UniqueIdVec* getSkinControllerTransforms (
+ const COLLADAFW::UniqueId& controllerId );
/**
- * Get the maya skin controller node with the given unique id.
- */
- bool skinControllerDataIdExported ( const COLLADAFW::UniqueId& skinControllerId );
+ * Make all the other controller data connections.
+ */
+ void connectControllers ();
};
View
4 COLLADAMaya/include/COLLADAMayaDocumentExporter.h
@@ -39,6 +39,10 @@ namespace COLLADAMaya
class LightExporter;
class CameraExporter;
+
+ typedef std::map<String, String> StringToStringMap;
+
+
/**
* The main exporter class. This class exports all data of the scene.
*/
View
290 COLLADAMaya/include/COLLADAMayaDocumentImporter.h
@@ -19,11 +19,13 @@
#include "COLLADAMayaStableHeaders.h"
#include "COLLADAMayaPrerequisites.h"
#include "COLLADAMayaNode.h"
-#include "COLLADAMayaSaxParserErrorHandler.h"
+#include "COLLADAMayaSaxErrorHandler.h"
#include "COLLADAFWIWriter.h"
#include "COLLADAFWFileInfo.h"
#include "COLLADAFWInstanceVisualScene.h"
+#include "COLLADAFWFormula.h"
+#include "COLLADAFWEffect.h"
#include "COLLADASaxFWLLoader.h"
@@ -36,6 +38,7 @@
namespace COLLADAMaya
{
+ class NodeImporter;
class VisualSceneImporter;
class GeometryImporter;
class MaterialImporter;
@@ -60,29 +63,34 @@ namespace COLLADAMaya
* Following elements should be copied, the order doesn't matter:
* - Copy visual scene
* - Copy library nodes
- * - Copy materials
* - Copy controllers
+ * - Copy materials
+ * - Copy images
* 1.3) Read scene (is always at the end of a collada document)
*
* 2.) Between first and second parsing:
* 2.1) Import referenced visual scene
* 2.3) Import referenced library nodes
* 2.4) Import node instances
- * 2.5) Import (referenced?) materials (TODO Why not directly import? Depends on import all or just referenced materials)
+ * 2.5) Import morph controllers
+ * 2.6) Import (not just the referenced) materials
+ * 2.7) Import (not just the referenced) effects (now we know the image list...)
+ * 2.8) Import referenced images
*
* 3.) Second parsing:
* 3.1) Import all data directly, the order doesn't matter:
- * - Import geometries
- * - Import effects
- * - Import cameras
- * - Import images
- * - Import lights
- * - Import animations
- * - Import skinControllerDatas
+ * - Import referenced geometries
+ * - Import (not just the referenced) cameras
+ * - Import (not just the referenced) lights
+ * - Import (not just the referenced) animations
+ * - Import referenced skinControllerDatas
* 4.) After second parsing:
* 4.1) Make all connections, the order doesn't matter:
+ * - controller
* - materials / effects
* - lights
+ * - effects
+ * - geometries
* - animations
*/
class DocumentImporter : public COLLADAFW::IWriter
@@ -90,9 +98,11 @@ namespace COLLADAMaya
private:
- static const String ASCII_PATH_EXTENSION;
- static const String ASCII_PATH_EXTENSION_DEBUG;
+ /** This names are reserved. Maya nodes can't have this names! */
+ static const String RESERVED_NAMES[];
+ static const size_t NUM_RESERVED_NAMES;
+ /** The Buffersize for the document to write. */
static const int BUFFERSIZE;
/**
@@ -103,18 +113,15 @@ namespace COLLADAMaya
NO_PARSING = 0,
FIRST_PARSING,
IMPORT_ASSET,
- COPY_FIRST_ELEMENTS, // no order: scene, visual scene, library nodes, materials, writeController
-// READ_SCENE,
-// COPY_VISUAL_SCENE,
-// COPY_LIBRARY_NODES,
-// COPY_MATERIALS,
- AFTER_FIRST_PARSING,
-// IMPORT_VISUAL_SCENE,
-// IMPORT_LIBRARY_NODES,
-// IMPORT_NODE_INSTANCES,
-// IMPORT_MATERIALS,
+ ANIMATIONS_IMPORTED,
+ COPY_ELEMENTS, // no order: scene, visual scene, library nodes, materials, writeController
+ ELEMENTS_COPIED,
+ MATERIAL_IMPORTED,
+ EFFECT_IMPORTED,
+ IMAGES_IMPORTED,
SECOND_PARSING,
- AFTER_SECOND_PARSING
+ GEOMETRY_IMPORTED,
+ MAKE_CONNECTIONS
};
private:
@@ -137,6 +144,9 @@ namespace COLLADAMaya
/** A copy of the framework's library materials elements. */
std::vector<COLLADAFW::Material*> mMaterialsList;
+ /** A copy of the framework's library effects elements. */
+ std::vector<COLLADAFW::Effect*> mEffectsList;
+
/** The buffer for fprintf. */
char *mBuffer; // 2MB Puffer!!
@@ -146,9 +156,6 @@ namespace COLLADAMaya
/** The name of the current maya ascii file. */
COLLADABU::URI mMayaAsciiFileURI;
- /** The id of the current scene. */
- String mSceneId;
-
/** The current maya ascii file to import the data. */
FILE* mFile;
@@ -159,16 +166,6 @@ namespace COLLADAMaya
double mDigitTolerance;
/**
- * The list of the unique maya groupId names.
- */
- COLLADABU::IDList mGroupIdIdList;
-
- /**
- * The list of the unique maya groupParts names.
- */
- COLLADABU::IDList mGroupPartsIdList;
-
- /**
* How many real-world meters in one distance unit as a floating-point number.
* For example, 1.0 for the name "meter"; 1000 for the name "kilometer";
* 0.3048 for the name "foot".
@@ -176,9 +173,22 @@ namespace COLLADAMaya
double mLinearUnitConvertFactor;
COLLADAFW::FileInfo::UpAxisType mUpAxisType;
+ /**
+ * This unit convert factor calculates always the centimeter unit, because this is
+ * the maya internal unit.
+ * This is need for conversion of the skin controller bind shape and geometry (?) matrix
+ * translate values conversion, because maya doesn't calculate the right values on linear
+ * unit switching.
+ */
+ double mLinearUnitMayaBindShapeBugConvertFactor;
+
/** Pointer to the visual scene importer. */
VisualSceneImporter* mVisualSceneImporter;
+ /** Pointer to the node importer.
+ Used to store the mapping between unique node ids and the framework nodes. */
+ NodeImporter* mNodeImporter;
+
/** Pointer to the geometry importer. */
GeometryImporter* mGeometryImporter;
@@ -207,41 +217,42 @@ namespace COLLADAMaya
size_t mNumDocumentParses;
/** The error handler for the sax parser. */
- SaxParserErrorHandler mSaxParserErrorHandler;
+ SaxErrorHandler mSaxParserErrorHandler;
+
+ /**
+ * The list of all unique ids of maya nodes (dag nodes and depend nodes).
+ * A list of names which are either used up to multiple times for dag nodes in the scene
+ * graph or just once for any other maya depend object (materials, shading groups, material
+ * infos, animations, blend shapes, skin clusters, textures ). Used to avoid dublicate names.
+ */
+ COLLADABU::IDList mGlobalNodeIdList;
+
+ /**
+ * The list of unique ids of maya depend nodes. Depend nodes are: materials, shading groups,
+ * material infos, animations, blend shapes, skin clusters, textures. Used to avoid dublicate
+ * names.
+ */
+ COLLADABU::IDList mDependNodeIdList;
+
+ /**
+ * A list of names which are used up to multiple times for dag nodes in the scene graph.
+ * Used to avoid dublicate names.
+ */
+ std::set<String> mDagNodeIdSet;
public:
/** Constructor. */
- DocumentImporter ( const String& fileName );
+ DocumentImporter ( const String& importFileName, const String& mayaAsciiFileName );
/** Destructor. */
virtual ~DocumentImporter ();
- /** The current maya ascii file to import the data. */
- FILE* getFile () const { return mFile; }
- void setFile ( FILE* val ) { mFile = val; }
-
/** Imports the current scene. */
void importCurrentScene ();
- /** Reads the collada document. */
- void readColladaDocument ();
-
- /** Create the maya ascii file (where with which name???) */
- bool createMayaAsciiFile ();
- void closeMayaAsciiFile ();
-
- /**
- * Returns the name of the current collada file to export.
- * @return const String& Name of the current collada file
- */
- const String& getColladaFilename () const;
-
- /**
- * Returns the name of the current maya ascii file to export.
- * @return const String& The current maya ascii file
- */
- const COLLADABU::URI& getMayaAsciiFileURI () const;
+ /** The current maya ascii file to import the data. */
+ FILE* getFile () const { return mFile; }
/** Returns the tolerance value for double value comparison. */
const double getTolerance () const { return mDigitTolerance; }
@@ -250,6 +261,11 @@ namespace COLLADAMaya
VisualSceneImporter* getVisualSceneImporter () { return mVisualSceneImporter; }
const VisualSceneImporter* getVisualSceneImporter () const { return mVisualSceneImporter; }
+ /** Pointer to the node importer.
+ Used to store the mapping between unique node ids and the framework nodes. */
+ NodeImporter* getNodeImporter () { return mNodeImporter; }
+ const NodeImporter* getNodeImporter () const { return mNodeImporter; }
+
/** Pointer to the geometry importer. */
GeometryImporter* getGeometryImporter () { return mGeometryImporter; }
const GeometryImporter* getGeometryImporter () const { return mGeometryImporter; }
@@ -302,20 +318,10 @@ namespace COLLADAMaya
*/
void writeConnections ();
- /** Start the import of the model.
- @return True on success, false otherwise. */
- bool import();
-
/** When this method is called, the writer must write the global document asset.
@return The writer should return true, if writing succeeded, false otherwise.*/
virtual bool writeGlobalAsset ( const COLLADAFW::FileInfo* asset );
- /** Convert the value to a valid maya unit value in depend on the current precision. */
- double toMayaUnitValue ( double unitValue );
-
- /** Returns the type of the current up axis. */
- const COLLADAFW::FileInfo::UpAxisType& getUpAxisType () const { return mUpAxisType; }
-
/**
* How many real-world meters in one distance unit as a floating-point number.
* For example, 1.0 for the name "meter"; 1000 for the name "kilometer";
@@ -323,6 +329,15 @@ namespace COLLADAMaya
*/
const double getLinearUnitConvertFactor () const { return mLinearUnitConvertFactor; }
+ /**
+ * This unit convert factor calculates always the centimeter unit, because this is
+ * the maya internal unit.
+ * This is need for conversion of the skin controller bind shape and geometry (?) matrix
+ * translate values conversion, because maya doesn't calculate the right values on linear
+ * unit switching.
+ */