00001 /* 00002 ** Animation_transformation.h 00003 ** 00004 ** Made by damien 00005 ** Login <damien@ortie> 00006 ** 00007 ** Started on Sun Jan 27 10:29:51 2008 damien 00008 ** Last update Sun Jan 27 10:29:51 2008 damien 00009 */ 00010 00011 #ifndef ANIMATION_TRANSFORMATION_H_ 00012 # define ANIMATION_TRANSFORMATION_H_ 00013 00014 00015 #include <stdlib.h> 00016 #include <iostream> 00017 #include <cmath> 00018 #include <string> 00019 #include <errno.h> 00020 #include <stdio.h> 00021 00022 #include <vector> 00023 using namespace std; 00024 00025 #include <Matrix.h> 00026 00027 class Animation_transformation 00028 { 00029 public: 00030 00031 Animation_transformation(); 00032 ~Animation_transformation(); 00033 00034 00035 int set_size_time(int size); 00036 int set_size_angle(int size); 00037 00038 int set_time(int k_time,double val); 00039 int set_angle(int k_time,int k_axis,double val); 00040 int set_translation(int k_trime,double tx,double ty,double tz); 00041 int set_anim_matrix(int k_time,int k_dim,double value); 00042 00043 double get_angle(int k_time,int k_axis); 00044 00045 Matrix get_rotation(double t); 00046 Matrix get_translation(double t); 00047 Matrix get_matrix(double t); 00048 00049 int get_size(); 00050 double get_time(int k_index); 00051 00052 Animation_transformation& operator=(const Animation_transformation&); 00053 00054 private: 00055 00056 int bone_number; 00057 std::vector <double>angle_x; 00058 std::vector <double>angle_y; 00059 std::vector <double>angle_z; 00060 std::vector <double>translation; 00061 std::vector <double>time; 00062 std::vector <double>anim_matrix; 00063 00064 }; 00065 00066 00067 #endif /* !ANIMATION_TRANSFORMATION_H_ */
1.5.6