Flag for arrows in SVG.cpp

This commit is contained in:
Alessandro Ranellucci 2013-10-26 14:41:37 +02:00
parent 1741adaddf
commit 5988f14b14
2 changed files with 23 additions and 2 deletions

View File

@ -13,15 +13,31 @@ SVG::SVG(const char* filename)
" <polyline fill=\"darkblue\" points=\"0,0 10,5 0,10 1,5\" />\n" " <polyline fill=\"darkblue\" points=\"0,0 10,5 0,10 1,5\" />\n"
" </marker>\n" " </marker>\n"
); );
this->arrows = true;
}
float
SVG::coordinate(long c)
{
return (float)unscale(c)*10;
} }
void void
SVG::AddLine(const Line &line) SVG::AddLine(const Line &line)
{ {
fprintf(this->f, fprintf(this->f,
" <line x1=\"%f\" y1=\"%f\" x2=\"%f\" y2=\"%f\" style=\"stroke: black; stroke-width: 2\" marker-end=\"url(#endArrow)\"/>\n", " <line x1=\"%f\" y1=\"%f\" x2=\"%f\" y2=\"%f\" style=\"stroke: black; stroke-width: 2\"",
(float)unscale(line.a.x)*10, (float)unscale(line.a.y)*10, (float)unscale(line.b.x)*10, (float)unscale(line.b.y)*10 this->coordinate(line.a.x), this->coordinate(line.a.y), this->coordinate(line.b.x), this->coordinate(line.b.y)
); );
if (this->arrows)
fprintf(this->f, " marker-end=\"url(#endArrow)\"");
fprintf(this->f, "/>\n");
}
void
SVG::AddLine(const IntersectionLine &line)
{
this->AddLine(Line(line.a, line.b));
} }
void void
@ -29,6 +45,7 @@ SVG::Close()
{ {
fprintf(this->f, "</svg>\n"); fprintf(this->f, "</svg>\n");
fclose(this->f); fclose(this->f);
printf("SVG file written.\n");
} }
} }

View File

@ -3,6 +3,7 @@
#include <myinit.h> #include <myinit.h>
#include "Line.hpp" #include "Line.hpp"
#include "TriangleMesh.hpp"
namespace Slic3r { namespace Slic3r {
@ -10,9 +11,12 @@ class SVG
{ {
private: private:
FILE* f; FILE* f;
float coordinate(long c);
public: public:
bool arrows;
SVG(const char* filename); SVG(const char* filename);
void AddLine(const Line &line); void AddLine(const Line &line);
void AddLine(const IntersectionLine &line);
void Close(); void Close();
}; };