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*);
|