bool Primitive::restore(FILE* f){ Pose pose; Pos vel; Pos avel; if ( fread ( pose.ptr() , sizeof ( Pose::value_type), 16, f ) == 16 ) if( fread ( vel.ptr() , sizeof ( Pos::value_type), 3, f ) == 3 ) if( fread ( avel.ptr() , sizeof ( Pos::value_type), 3, f ) == 3 ){ setPose(pose); if(body){ dBodySetLinearVel(body,vel.x(),vel.y(),vel.z()); dBodySetAngularVel(body,avel.x(),avel.y(),avel.z()); } return true; } fprintf ( stderr, "Primitve::restore: cannot read primitive from data\n" ); return false; }