.. _program_listing_file_include_rmf_fleet_adapter_python_graph_PyOrientationConstraint.hpp: Program Listing for File PyOrientationConstraint.hpp ==================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/rmf_fleet_adapter_python/graph/PyOrientationConstraint.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright (C) 2020 Open Source Robotics Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef PYORIENTATIONCONSTRAINT_HPP #define PYORIENTATIONCONSTRAINT_HPP #include #include #include "rmf_fleet_adapter/agv/Adapter.hpp" #include using Graph = rmf_traffic::agv::Graph; // Trampoline rmf_traffic::agv::Graph::OrientationConstraint wrapper class // to allow method overrides from Python class PyOrientationConstraint : public Graph::OrientationConstraint { public: // Constructor using Graph::OrientationConstraint::OrientationConstraint; bool apply(Eigen::Vector3d& position, const Eigen::Vector2d& course_vector) const override { PYBIND11_OVERLOAD_PURE( bool, Graph::OrientationConstraint, apply, position, course_vector ); } rmf_utils::clone_ptr clone() const override { PYBIND11_OVERLOAD_PURE( rmf_utils::clone_ptr, Graph::OrientationConstraint, clone, // Trailing comma required ); } }; #endif // PYORIENTATIONCONSTRAINT_HPP