source: GTP/trunk/App/Demos/Illum/Hierarchical Systems Demo [OpenGL]/src/TransformAnimation.cpp @ 852

Revision 852, 2.1 KB checked in by szirmay, 19 years ago (diff)
Line 
1#include "transformanimation.h"
2#include <fstream>
3
4using namespace std;
5
6TransformAnimation::TransformAnimation(void)
7{
8}
9
10TransformAnimation::~TransformAnimation(void)
11{
12}
13
14void TransformAnimation::Load(char *filename)
15{
16        fprintf(stderr, "Loading scene:");
17        fprintf(stderr, filename);
18       
19        ifstream file(filename);
20
21        char* tempchar=new char[1000];
22        file.getline(tempchar,500,'\n');
23        sscanf(tempchar,"framecount %ui",&framecount);
24
25        translations=new Vector[framecount];
26        rotations=new Vector[framecount];
27        matrixes=new float[framecount*16];
28        quaternions=new float[framecount*4];
29       
30        for(int i=0;i<framecount;i++)
31        {
32                file.getline(tempchar,500,'\n');//frame xxx
33                file.getline(tempchar,500,'\n');//translate x x x
34                file.getline(tempchar,500,'\n');
35                sscanf(tempchar,"realtranslate %f %f %f",&translations[i].x,
36                                                                                                        &translations[i].y,
37                                                                                                        &translations[i].z);
38                file.getline(tempchar,500,'\n');
39                sscanf(tempchar,"rotate %f %f %f",&rotations[i].x,
40                                                                                        &rotations[i].y,
41                                                                                        &rotations[i].z);       
42                /*
43                file.getline(tempchar,1000,'\n');
44                sscanf(tempchar,"rotate %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f",
45                                                                                        &matrixes[i*16],&matrixes[i*16+1],&matrixes[i*16+2],&matrixes[i*16+3],
46                                                                                        &matrixes[i*16+4],&matrixes[i*16+5],&matrixes[i*16+6],&matrixes[i*16+7],
47                                                                                        &matrixes[i*16+8],&matrixes[i*16+9],&matrixes[i*16+10],&matrixes[i*16+11],
48                                                                                        &matrixes[i*16+12],&matrixes[i*16+3],&matrixes[i*16+14],&matrixes[i*16+15]);
49               
50                matrixes[i*16]=matrixes[i*16+5]=matrixes[i*16+10]=matrixes[i*16+15]=1;
51                matrixes[i*16+2]=matrixes[i*16+1]=matrixes[i*16+11]=matrixes[i*16+6]=matrixes[i*16+3]=matrixes[i*16+4]=matrixes[i*16+7]=matrixes[i*16+8]=matrixes[i*16+9]=0;
52                               
53                matrixes[i*16+12]=translations[i].x;
54                matrixes[i*16+13]=translations[i].y;
55                matrixes[i*16+14]=translations[i].z;*/
56
57        /*      file.getline(tempchar,500,'\n');
58                sscanf(tempchar,"quaternion %f %f %f %f",&quaternions[i*4],
59                                                                                        &quaternions[i*4+1],
60                                                                                        &quaternions[i*4+2],
61                                                                                        &quaternions[i*4+3]);*/
62        }
63        file.close();
64}
Note: See TracBrowser for help on using the repository browser.