.. _program_listing_file_include_reach_interfaces_display.h: Program Listing for File display.h ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/reach/interfaces/display.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright 2019 Southwest Research Institute * * 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 reach_INTERFACES_DISPLAY_H #define reach_INTERFACES_DISPLAY_H #include #include namespace YAML { class Node; } #ifdef BUILD_PYTHON namespace boost { namespace python { class dict; } // namespace python } // namespace boost #endif namespace reach { struct Display { using Ptr = std::shared_ptr; using ConstPtr = std::shared_ptr; Display() = default; virtual ~Display() = default; virtual void showEnvironment() const = 0; virtual void updateRobotPose(const std::map& pose) const = 0; virtual void showReachNeighborhood(const std::map& neighborhood) const = 0; virtual void showResults(const ReachResult& db) const = 0; #ifdef BUILD_PYTHON void updateRobotPose(const boost::python::dict&) const; #endif }; struct DisplayFactory { using Ptr = std::shared_ptr; using ConstPtr = std::shared_ptr; DisplayFactory() = default; virtual ~DisplayFactory() = default; virtual Display::ConstPtr create(const YAML::Node& config) const = 0; static std::string getSection() { return DISPLAY_SECTION; } #ifdef BUILD_PYTHON Display::ConstPtr create(const boost::python::dict& pyyaml_config) const; #endif }; } // namespace reach #endif // reach_INTERFACES_DISPLAY_H