diff options
author | Gaia Clary <gaia.clary@machinimatrix.org> | 2018-02-26 18:34:45 +0300 |
---|---|---|
committer | Gaia Clary <gaia.clary@machinimatrix.org> | 2018-02-26 19:16:56 +0300 |
commit | a024da55af09fb75e3b72489a8696878909bf676 (patch) | |
tree | cf9cfcccbba2323816a19647770e07d6b5d3c6e7 /source/blender/collada/AnimationExporter.h | |
parent | 5f9657316e4e53594643cf1bb128135a593bcae5 (diff) |
Adding support for Matrix Transformation export
The exporter does export matrix data (4*4 Transformation matrix) only for Skeletal animation. For object animation only exporting to trans/rot/loc is implemented.
This task implements Matrix export also for simple Object animation.
Differential Revision: https://developer.blender.org/D3082
Diffstat (limited to 'source/blender/collada/AnimationExporter.h')
-rw-r--r-- | source/blender/collada/AnimationExporter.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/collada/AnimationExporter.h b/source/blender/collada/AnimationExporter.h index b26b0427f33..52b46353528 100644 --- a/source/blender/collada/AnimationExporter.h +++ b/source/blender/collada/AnimationExporter.h @@ -144,9 +144,12 @@ protected: float* get_eul_source_for_quat(Object *ob ); + bool is_flat_line(std::vector<float> &values, int channel_count); void export_keyframed_animation_set(Object *ob); void create_keyframed_animation(Object *ob, FCurve *fcu, char *transformName, bool is_param, Material *ma = NULL); void export_sampled_animation_set(Object *ob); + void export_sampled_transrotloc_animation(Object *ob, std::vector<float> &ctimes); + void export_sampled_matrix_animation(Object *ob, std::vector<float> &ctimes); void create_sampled_animation(int channel_count, std::vector<float> ×, std::vector<float> &values, std::string, std::string label, std::string axis_name, bool is_rot); void evaluate_anim_with_constraints(Object *ob, float ctime); @@ -161,7 +164,7 @@ protected: std::string create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name); std::string create_xyz_source(float *v, int tot, const std::string& anim_id); - + std::string create_4x4_source(std::vector<float> ×, std::vector<float> &values, const std::string& anim_id); std::string create_4x4_source(std::vector<float> &frames, Object * ob_arm, Bone *bone, const std::string& anim_id); std::string create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents); |