97
107
const ExportSettings *export_settings;
99
void dae_animation(Object* ob, FCurve *fcu, char* transformName , bool is_param, Material *ma = NULL);
109
void dae_animation(Object *ob, FCurve *fcu, char *transformName, bool is_param, Material *ma = NULL);
111
void export_object_constraint_animation(Object *ob);
113
void export_morph_animation(Object *ob);
101
115
void write_bone_animation_matrix(Object *ob_arm, Bone *bone);
116
130
// (blend this into dae_bone_animation)
117
131
void dae_bone_animation(std::vector<float> &fra, float *v, int tm_type, int axis, std::string ob_name, std::string bone_name);
119
void dae_baked_animation(std::vector<float> &fra, Object *ob_arm , Bone *bone);
133
void dae_baked_animation(std::vector<float> &fra, Object *ob_arm, Bone *bone);
135
void dae_baked_object_animation(std::vector<float> &fra, Object *ob);
121
137
float convert_time(float frame);
123
139
float convert_angle(float angle);
125
std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic);
141
std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic);
127
143
void add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
128
COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis , bool transform);
144
COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis, bool transform);
130
146
void get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length);
132
float * get_eul_source_for_quat(Object *ob );
148
float* get_eul_source_for_quat(Object *ob );
134
150
std::string create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name);
152
std::string create_lens_source_from_fcurve(Camera *cam, COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id);
136
154
std::string create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name);
138
156
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);
140
158
std::string create_xyz_source(float *v, int tot, const std::string& anim_id);
142
std::string create_4x4_source(std::vector<float> &frames , Object * ob_arm, Bone *bone , const std::string& anim_id);
160
std::string create_4x4_source(std::vector<float> &frames, Object * ob_arm, Bone *bone, const std::string& anim_id);
144
162
std::string create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents);
146
164
std::string fake_interpolation_source(int tot, const std::string& anim_id, const char *axis_name);
147
166
// for rotation, axis name is always appended and the value of append_axis is ignored
148
167
std::string get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
149
168
std::string get_light_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
150
169
std::string get_camera_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
151
171
void find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name);
152
172
void find_frames(Object *ob, std::vector<float> &fra);
174
void make_anim_frames_from_targets(Object *ob, std::vector<float> &frames );
154
176
void find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode);
156
178
// enable fcurves driving a specific bone, disable all the rest
160
182
bool hasAnimations(Scene *sce);
162
char* extract_transform_name(char *rna_path);
164
std::string getObjectBoneName ( Object *ob,const FCurve * fcu);
184
char *extract_transform_name(char *rna_path);
186
std::string getObjectBoneName(Object *ob, const FCurve * fcu);
188
void getBakedPoseData(Object *obarm, int startFrame, int endFrame, bool ActionBake, bool ActionBakeFirstFrame);
190
bool validateConstraints(bConstraint *con);
192
void calc_ob_mat_at_time(Object *ob, float ctime , float mat[][4]);