/*! Options for generating output for gnuplot. */
class GenPlotOpts {
public:
- static bool LEFT;
- static bool RIGHT;
- static bool REAR;
- static bool FRONT;
- static bool FRAME;
- static bool ARROW;
- static bool CROSS;
- static bool CAR;
- static bool LEFT_MIRROR;
- static bool RIGHT_MIRROR;
- static bool MIRRORS;
- static bool ALL;
+ bool LF_POINT = false;
+ bool LR_POINT = false;
+ bool RR_POINT = false;
+ bool RF_POINT = false;
+ bool LFM_POINT = false;
+ bool RFM_POINT = false;
+
+ bool LEFT = false;
+ bool RIGHT = false;
+ bool REAR = false;
+ bool FRONT = false;
+ bool FRAME = false; // LEFT, RIGHT, REAR, FRONT
+ bool ARROW = false;
+ bool CROSS = false;
+ bool CAR = false; // CROSS, ARROW, FRAME
+ bool LEFT_MIRROR = false;
+ bool RIGHT_MIRROR = false;
+ bool MIRRORS = false; // RIGHT_MIRROR, LEFT_MIRROR
+ bool ALL = true; // MIRRORS, CAR
};
/*! Generate output for plotting with gnuplot. */
- void gen_gnuplot_to(std::ostream& out, GenPlotOpts const& opts);
+ void gen_gnuplot_to(std::ostream& out, GenPlotOpts opts);
};
} // namespace bcar
this->h(this->h() + this->sp() / this->wb() * tan(this->st()));
}
-bool BicycleCar::GenPlotOpts::LEFT = false;
-bool BicycleCar::GenPlotOpts::RIGHT = false;
-bool BicycleCar::GenPlotOpts::REAR = false;
-bool BicycleCar::GenPlotOpts::FRONT = false;
-bool BicycleCar::GenPlotOpts::FRAME = false; // LEFT, RIGHT, REAR, FRONT
-bool BicycleCar::GenPlotOpts::ARROW = false;
-bool BicycleCar::GenPlotOpts::CROSS = false;
-bool BicycleCar::GenPlotOpts::CAR = false; // CROSS, ARROW, FRAME
-bool BicycleCar::GenPlotOpts::LEFT_MIRROR = false;
-bool BicycleCar::GenPlotOpts::RIGHT_MIRROR = false;
-bool BicycleCar::GenPlotOpts::MIRRORS = false; // RIGHT_MIRROR, LEFT_MIRROR
-bool BicycleCar::GenPlotOpts::ALL = true; // MIRRORS, CAR
-
void
-BicycleCar::gen_gnuplot_to(std::ostream& out, GenPlotOpts const& opts)
+BicycleCar::gen_gnuplot_to(std::ostream& out, GenPlotOpts opts)
{
if (opts.ALL) {
opts.CAR = true;
opts.REAR = true;
opts.FRONT = true;
}
+ if (opts.LF_POINT) {
+ this->lf().gen_gnuplot_to(out);
+ }
+ if (opts.LR_POINT) {
+ this->lr().gen_gnuplot_to(out);
+ }
+ if (opts.RR_POINT) {
+ this->rr().gen_gnuplot_to(out);
+ }
+ if (opts.RF_POINT) {
+ this->rf().gen_gnuplot_to(out);
+ }
+ if (opts.LFM_POINT) {
+ this->lfm().gen_gnuplot_to(out);
+ }
+ if (opts.RFM_POINT) {
+ this->rfm().gen_gnuplot_to(out);
+ }
if (opts.LEFT) {
this->lf().gen_gnuplot_to(out);
this->lr().gen_gnuplot_to(out);