summarylogtreecommitdiffstats
path: root/collada1668.patch
blob: 535fca07dace6c772038372629511bd0f11515d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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 435eaa0208a..38757ff80cd 100644
--- a/source/blender/collada/DocumentImporter.cpp
+++ b/source/blender/collada/DocumentImporter.cpp
@@ -1340,6 +1340,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 62f76dbc022..45fb2c74829 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*);