/*! Return Euclidean distance to `p`. */
double edist(Point const& p) const;
+ /*! Generate output for plotting with gnuplot. */
+ void gen_gnuplot_to(std::ostream& out);
+
bool operator==(Point const& p);
friend std::ostream& operator<<(std::ostream& out, Point const& p);
};
*/
double orradi() const;
+ /*! \brief Return inner mirror radius.
+ *
+ * The inner mirror radius is the distance from minimum turning radius
+ * circle center to the farther mirror (from the rear axle view).
+ */
+ double imradi() const;
+
+ /*! \brief Return outer mirror radius.
+ *
+ * The outer mirror radius is the distance from minimum turning radius
+ * circle center to the farther mirror (from the rear axle view).
+ */
+ double omradi() const;
+
/*! \brief Return length of perfect parking slot.
*
* The width of the slot is the same as the width of the car.
/*! Next car position based on speed `sp` and steer `st`. */
void next();
+
+ /*! 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;
+ };
+
+ /*! Generate output for plotting with gnuplot. */
+ void gen_gnuplot_to(std::ostream& out, GenPlotOpts const& opts);
};
} // namespace bcar