else if (strcmp(buffer, "POLYLINE") == 0)
{
long int size;
- obj = (Object *)new Polyline();
+ std::vector<Point> pts;
+ uint32_t color;
+ float thickness;
+ int style;
+
fscanf(file, "(%li)", &size);
- fscanf(file, " (%i, %f, %i)\n", &obj->color, &obj->thickness, &obj->style);
+ fscanf(file, " (%i, %f, %i)\n", &color, &thickness, &style);
for(int i=0; i<size; i++)
{
- Object * po = new Object();
- fscanf(file, "(%lf,%lf,%lf)\n", &po->p[0].x, &po->p[0].y, &po->length);
- ((Polyline *)obj)->Add(po);
+ Point p;
+ fscanf(file, "(%lf,%lf,%lf)\n", &p.x, &p.y, &p.b);
+ pts.push_back(p);
}
+
+ obj = (Object *)new Polyline(pts, thickness, color, style);
}
else if (strcmp(buffer, "TEXT") == 0)
{
fprintf(file, "POLYLINE %i (%li)", p->layer, p->points.size());
fprintf(file, " (%i, %f, %i)\n", obj->color, obj->thickness, obj->style);
- for(VPVectorIter i=p->points.begin(); i!=p->points.end(); i++)
+ for(long unsigned int i=0; i<p->points.size(); i++)
{
- Object * po = (Object *)(*i);
- fprintf(file, "(%.16lf,%.16lf,%.16lf)\n", po->p[0].x, po->p[0].y, po->length);
+ fprintf(file, "(%.16lf,%.16lf,%.16lf)\n", p->points[i].x, p->points[i].y, p->points[i].b);
}
}
break;