Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. // Copyright 2019 Zhihao Zhang License MIT
  2.  
  3. #ifndef CUBE_HPP_
  4. #define CUBE_HPP_
  5.  
  6. #include "interfaces.hpp"
  7. #include "visualization_msgs/msg/marker.hpp"
  8.  
  9. #include <memory>
  10. #include <string>
  11. #include <tuple>
  12. #include <vector>
  13.  
  14. namespace shapes
  15. {
  16. // ReSharper disable once CppClassCanBeFinal
  17. class Cube : public ShapeCommonInterface
  18. {
  19. public:
  20. explicit Cube(int id);
  21.  
  22. protected:
  23. AllAxis length_;
  24. std::string parent_frame_name_;
  25. std::shared_ptr<std::vector<visualization_msgs::msg::Marker>>
  26. shapes_list_ptr_;
  27.  
  28. auto resize_imple(AllAxis new_size) -> void override;
  29.  
  30. auto rescale_imple(AnyAxis factor) -> void override;
  31.  
  32. auto set_colour_imple(Colour)
  33. -> void override{}[[nodiscard]] auto get_colour_imple() const
  34. -> Colour override;
  35.  
  36. auto set_parent_frame_name_imple(std::string frame_name) -> void override;
  37.  
  38. [[nodiscard]] auto get_location_imple() const
  39. -> std::tuple<XAxis, YAxis, ZAxis> override;
  40.  
  41. auto move_to_imple(XAxis) -> void override;
  42. auto move_to_imple(YAxis) -> void override;
  43. auto move_to_imple(ZAxis) -> void override;
  44. auto move_to_imple(XAxis, YAxis, ZAxis) -> void override;
  45.  
  46. auto move_by_imple(XAxis) -> void override;
  47. auto move_by_imple(YAxis) -> void override;
  48. auto move_by_imple(ZAxis) -> void override;
  49.  
  50. auto move_by_imple(XAxis, YAxis, ZAxis) -> void override;
  51.  
  52. auto get_display_markers_imple() -> std::shared_ptr<
  53. std::vector<visualization_msgs::msg::Marker>> override;
  54.  
  55. auto rotate_about_axis_to_imple(ZAxis radians) -> void override;
  56.  
  57. [[nodiscard]] auto get_orientation_imple() const -> ZAxis override;
  58. };
  59. } // namespace shapes
  60. #endif // CUBE_HPP_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement