#define V v
#define INIT_V vector<M> V;
#define P(W) V.push_back(M(#W)); V.back().o.W = true;
+#define LC V.back().c
class M {
public:
+ static unsigned int cntr;
std::string fn;
+ std::string fc;
std::ofstream f;
bcar::BicycleCar c;
bcar::BicycleCar::GenPlotOpts o;
}
M(std::string fn) : fn(fn)
{
- this->f.open(this->fn);
+ this->fc = std::to_string(this->cntr++);
+ this->f.open(this->fn + this->fc);
this->o.ALL = false;
}
M(M const& m) : fn(m.fn), c(m.c), o(m.o)
{
- this->f.open(this->fn);
+ this->fc = std::to_string(this->cntr++);
+ this->f.open(this->fn + this->fc);
}
M& operator=(M m)
{
f.f.close();
t.f.close();
swap(f.fn, t.fn);
+ swap(f.fc, t.fc);
swap(f.c, t.c);
swap(f.o, t.o);
- f.f.open(f.fn);
- t.f.open(t.fn);
+ f.f.open(f.fn + f.fc);
+ t.f.open(t.fn + t.fc);
}
M(M&& m) noexcept
{
swap(*this, m);
}
};
+unsigned int M::cntr = 0;
void
gpl_slot(bcar::ParkingSlot& s, std::string fn = "")
ofstream f;
f.open("plot.pl");
f << "#!/usr/bin/gnuplot" << endl;
+ f << "unset key" << endl;
f << "set size ratio -1" << endl;
if (with_slot.compare("") != 0) {
f << "plot '" << with_slot << "' w l,";
f << "plot";
}
for (auto& m: ms) {
- f << " '" << m.fn << "'" << " w l,";
+ f << " '" << (m.fn + m.fc) << "'" << " w l,";
}
f << endl;
f << "pause -1" << endl;
s.compute_entries();
INIT_V
- P(RF_POINT)
- P(RFM_POINT)
- P(RRA_POINT)
- P(RR_POINT)
-
- for (auto& m: V) {
- m.c = s._entries.front();
- m.c.st(m.c.st() * -1.0);
+ for (auto e: s._entries) {
+ P(RRA_POINT)
+ LC = e;
+ LC.st(LC.st() * -1.0);
+ P(RRA_POINT)
+ LC = e;
}
for (unsigned int i = 0; i < STEPS; i++) {
for (auto& m: V) {