// Merge the vertex arrays static void addToVertexArrays(int length, const char* bytes, int swap) { std::string name; int num, type, numSteps; double min, max, time, xmin, ymin, zmin, xmax, ymax, zmax; VertexArray::decodeHeader(length, bytes, swap, name, num, type, min, max, numSteps, time, xmin, ymin, zmin, xmax, ymax, zmax); PView *p = PView::list[num - 1]; PViewData *data = p->getData(); VertexArray *varrays[4] = {p->va_points, p->va_lines, p->va_triangles, p->va_vectors}; VertexArray *va = varrays[type - 1]; if (data->getMin() > min) data->setMin(min); if (data->getMax() < max) data->setMax(max); SBoundingBox3d bbox(xmin, ymin, zmin, xmax, ymax, zmax); SBoundingBox3d bb = data->getBoundingBox(); bb += bbox; data->setBoundingBox(bb); if (type == 4) type = 2; VertexArray* toAdd = new VertexArray(type, 100); toAdd->fromChar(length, bytes, swap); va->merge(toAdd); delete toAdd; }