PKGBUILDs/community/blender/opencollada1.patch

79 lines
2.6 KiB
Diff
Raw Normal View History

commit 10c50d7dbf7578b35b3bf19a1948f556f9eb203b
Author: Gaia Clary <gaia.clary@machinimatrix.org>
Date: Tue Dec 4 19:11:33 2018 +0100
fix T58568 build errors when using collada 1.6.68 or newer
diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt
index 293049a1a05..c250384b989 100644
--- a/source/blender/collada/CMakeLists.txt
+++ b/source/blender/collada/CMakeLists.txt
@@ -25,6 +25,18 @@
remove_strict_flags()
+FIND_FILE(_opencollada_with_animation_clip
+ NAMES
+ COLLADAFWAnimationClip.h
+ PATHS
+ ${OPENCOLLADA_INCLUDE_DIRS}
+ NO_DEFAULT_PATH
+ )
+
+IF(_opencollada_with_animation_clip)
+ add_compile_definitions(OPENCOLLADA_WITH_ANIMATION_CLIP)
+ENDIF()
+
set(INC
.
../blenkernel
diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp
index 67fd9d648c7..24b7fc4317d 100644
--- a/source/blender/collada/DocumentImporter.cpp
+++ b/source/blender/collada/DocumentImporter.cpp
@@ -1349,6 +1349,19 @@ bool DocumentImporter::writeAnimationList(const COLLADAFW::AnimationList *animat
return anim_importer.write_animation_list(animationList);
}
+#if OPENCOLLADA_WITH_ANIMATION_CLIP
+// Since opencollada 1.6.68
+// called on post-process stage after writeVisualScenes
+bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip)
+{
+ if (mImportStage != General)
+ return true;
+
+ return true;
+ //return animation_clip_importer.write_animation_clip(animationClip); // TODO: implement import of AnimationClips
+}
+#endif
+
/** When this method is called, the writer must write the skin controller data.
* \return The writer should return true, if writing succeeded, false otherwise.*/
bool DocumentImporter::writeSkinControllerData(const COLLADAFW::SkinControllerData *skin)
diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h
index 17e61326032..5e9f899d42c 100644
--- a/source/blender/collada/DocumentImporter.h
+++ b/source/blender/collada/DocumentImporter.h
@@ -49,8 +49,6 @@
#include "MeshImporter.h"
#include "ImportSettings.h"
-
-
struct bContext;
/** Importer class. */
@@ -108,6 +106,11 @@ public:
bool writeAnimationList(const COLLADAFW::AnimationList*);
+#if OPENCOLLADA_WITH_ANIMATION_CLIP
+ // Please enable this when building with Collada 1.6.65 or newer (also in DocumentImporter.cpp)
+ bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip);
+#endif
+
bool writeGeometry(const COLLADAFW::Geometry*);
bool writeMaterial(const COLLADAFW::Material*);