113 {
114 if (fp->FReadEndian(&num_squares_, sizeof(num_squares_), 1) != 1) {
115 return false;
116 }
117 if (!fp->DeSerialize(squares_)) {
118 return false;
119 }
120
121
122 int last_element;
123 if (fp->FReadEndian(&last_element, sizeof(last_element), 1) != 1) {
124 return false;
125 }
126 squares_.erase(squares_.begin());
127 squares_.push_back(last_element);
128 if (fp->FReadEndian(&num_triangles_, sizeof(num_triangles_), 1) != 1) {
129 return false;
130 }
131 if (!fp->DeSerialize(triangles_)) {
132 return false;
133 }
134 if (fp->FReadEndian(&last_element, sizeof(last_element), 1) != 1) {
135 return false;
136 }
137 triangles_.erase(triangles_.begin());
138 triangles_.push_back(last_element);
139 return true;
140 }