]> rtime.felk.cvut.cz Git - hubacji1/bcar.git/blobdiff - incl/pslot.hh
Add max cusp getter
[hubacji1/bcar.git] / incl / pslot.hh
index 8602e891beae8654ed3eac63098bf8aba604f829..c8962cb2c5d3ff7f4c96c6c037da5c8433aa15f4 100644 (file)
@@ -1,3 +1,9 @@
+/*
+ * SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
 /*! \file */
 #ifndef BCAR_PSLOT_H
 #define BCAR_PSLOT_H
@@ -70,10 +76,35 @@ public:
        /*! Return parking slot's orientation. */
        double h() const;
 
+       /*! Get parking slot's left front point. */
+       Point lf() const;
+
+       /*! Get parking slot's left rear point. */
+       Point lr() const;
+
+       /*! Get parking slot's right rear point. */
+       Point rr() const;
+
+       /*! Get parking slot's right front point. */
+       Point rf() const;
+
+       /*! Get parking slot's entry side. */
+       Line entry() const;
+
+       /*! Get parking slot's rear side. */
+       Line rear() const;
+
+       /*! Get parking slot's curb side. */
+       Line curb() const;
+
+       /*! Get parking slot's front side. */
+       Line front() const;
+
        /*! Car's next iteration distance. (Negative for backward.) */
        void set_parking_speed(double s);
 
        /*! Maximum allowed number of cusp inside the parking slot. */
+       unsigned int get_max_cusp() const;
        void set_max_cusp(unsigned int m);
 
        /*! Angle's increment when creating start positions. */
@@ -100,6 +131,12 @@ public:
         */
        std::vector<BicycleCar> drive_in_slot(BicycleCar c);
 
+       /*! \brief Drive car `c` from slot.
+        *
+        * \param c Starting bicycle car.
+        */
+       std::vector<BicycleCar> drive_of_slot(BicycleCar c);
+
        /*! \brief Steer car `c` into the parking slot `this`.
         *
         * `steer_in_slot` returns the complete path as the list of `Pose`s, not