void Loader3ds::FacesDescription(int fd, double* len, Object* o) { std::vector<Vertex*>* cpy; std::vector<Texture*>* cpy2; int i; unsigned short l_qty; unsigned short index; unsigned short l_flag; Face* F; int nread; cpy = o->Get_List_Vertex(); cpy2 = o->Get_List_Texture(); i = 0; nread = read (fd, &l_qty, sizeof(l_qty)); len = len + sizeof(l_qty); while (i < l_qty) { F = new Face(); nread = read(fd, &index , sizeof(index)); F->Add_Index((*cpy)[index]); if (cpy2->size()) F->Add_Texture((*cpy2)[index]); nread = read(fd, &index , sizeof(index)); F->Add_Index((*cpy)[index]); if (cpy2->size()) F->Add_Texture((*cpy2)[index]); nread = read(fd, &index , sizeof(index)); F->Add_Index((*cpy)[index]); if (cpy2->size()) F->Add_Texture((*cpy2)[index]); o->Add_Face(F); nread = read(fd, &l_flag , sizeof(l_flag)); len = len + (4 * sizeof(index)); i++; } }