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
|
void Read_C3D_Data()
{
//unsigned char residual, num_cam;
unsigned short frame, marker, sample, channel;
unsigned short start_byte;
infile=fopen("cube.c3d","r+");
// Startbyte is the starting location of tvd/adc data
start_byte=start_record_num;
start_byte = 512 * (start_byte - 1);
marqueur markers;
// Position file pointer to start of data record
fseek(infile,start_byte,0/*SEEK_SET*/);
float kx,ky,kz,ke;
float kk;
// For each frame
for (frame = first_field; frame <= last_field; frame++)
{
// Read Video data
//printf("Frame #%d\n",frame);
// For each marker
///printf("Marker #:\n\t\t");
for (int i /*marker*/ = 1; /**/i <= num_markers; /*marker*/i ++)
{
printf("%d ",/*marker*/i);
markers.num_marqueur=/*marker*/i;
fread(&markers.x, sizeof(float), 1, infile);
printf("x= %f\n",markers.x);
fread(&markers.y, sizeof(float), 1, infile);
printf("y= %f\n",markers.y);
fread(&markers.z, sizeof(float), 1, infile);
printf("z= %f\n",markers.z);
F.marqueur.resize(F.marqueur.size()+1);
F.marqueur[F.marqueur.size()-1]=markers;
fread(&ke, sizeof(float), 1, infile);
} // Next marker
F.num_frame=frame;
framme.resize(framme.size()+1);
framme[framme.size()-1]=F;
}
} |
Partager