little debug print visitor rework.

This commit is contained in:
supermerill 2019-12-12 14:35:53 +01:00
parent 9e2b819880
commit fbd3c45c6c

View File

@ -286,18 +286,23 @@ std::string ExtrusionEntity::role_to_string(ExtrusionRole role)
return ""; return "";
}void ExtrusionPrinter::use(const ExtrusionPath &path) { }void ExtrusionPrinter::use(const ExtrusionPath &path) {
ss << "Path_" << path.polyline.size(); ss << "ExtrusionPath{";
for (const Point &p : path.polyline.points) for (int i = 0; i < path.polyline.points.size(); i++) {
ss << "->" << (int)(100 * unscale_(p.x())) << ":" << (int)(100 * unscale_(p.y())); if (i != 0) ss << ",";
ss << "{"<<(int)(100 * unscale_(path.polyline.points[i].x())) << "," << (int)(100 * unscale_(path.polyline.points[i].y()))<<"}";
}
ss << "}";
} }
void ExtrusionPrinter::use(const ExtrusionPath3D &path3D) { void ExtrusionPrinter::use(const ExtrusionPath3D &path3D) {
ss << "Path3D_" << path3D.polyline.size(); ss << "ExtrusionPath3D{";
for (int i = 0; i < path3D.polyline.points.size();i++) for (int i = 0; i < path3D.polyline.points.size();i++){
ss << "->" << (int)(100 * unscale_(path3D.polyline.points[i].x())) << ":" << (int)(100 * unscale_(path3D.polyline.points[i].y())) << ":" << (path3D.z_offsets.size()>i ? unscale_(path3D.z_offsets[i]) : -1); if (i != 0) ss << ",";
ss << "{"<<(int)(100 * unscale_(path3D.polyline.points[i].x())) << "," << (int)(100 * unscale_(path3D.polyline.points[i].y())) << ":" << (path3D.z_offsets.size()>i ? unscale_(path3D.z_offsets[i]) : -1) <<"}";
}
ss << "}";
} }
void ExtrusionPrinter::use(const ExtrusionMultiPath &multipath) { void ExtrusionPrinter::use(const ExtrusionMultiPath &multipath) {
ss << "multipath:{"; ss << "ExtrusionMultiPath{";
for (int i = 0; i < multipath.paths.size(); i++) { for (int i = 0; i < multipath.paths.size(); i++) {
if (i != 0) ss << ","; if (i != 0) ss << ",";
multipath.paths[i].visit(*this); multipath.paths[i].visit(*this);
@ -305,20 +310,28 @@ void ExtrusionPrinter::use(const ExtrusionMultiPath &multipath) {
ss << "}"; ss << "}";
} }
void ExtrusionPrinter::use(const ExtrusionMultiPath3D &multipath3D) { void ExtrusionPrinter::use(const ExtrusionMultiPath3D &multipath3D) {
ss << "multipath3D:{"; ss << "multipath3D{";
for (int i = 0; i < multipath3D.paths.size(); i++) { for (int i = 0; i < multipath3D.paths.size(); i++) {
if (i != 0) ss << ","; if (i != 0) ss << ",";
multipath3D.paths[i].visit(*this); multipath3D.paths[i].visit(*this);
} }
ss << "}"; ss << "}";
} }
void ExtrusionPrinter::use(const ExtrusionLoop &loop) { ss << "loop_" << loop.paths.size(); } void ExtrusionPrinter::use(const ExtrusionLoop &loop) {
ss << "ExtrusionLoop{";
for (int i = 0; i < loop.paths.size(); i++) {
if (i != 0) ss << ",";
loop.paths[i].visit(*this);
}
ss << "}";
}
void ExtrusionPrinter::use(const ExtrusionEntityCollection &collection) { void ExtrusionPrinter::use(const ExtrusionEntityCollection &collection) {
ss << "collection:{"; ss << "ExtrusionEntityCollection{";
for (int i = 0; i < collection.entities.size(); i++) { for (int i = 0; i < collection.entities.size(); i++) {
if (i != 0) ss << ","; if (i != 0) ss << ",";
collection.entities[i]->visit(*this); collection.entities[i]->visit(*this);
} }
if(collection.no_sort) ss<<", no_sort=true";
ss << "}"; ss << "}";
} }