Aikido
ShapeFrameMarker.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_RVIZ_SHAPEFRAMEMARKER_HPP_
2 #define AIKIDO_RVIZ_SHAPEFRAMEMARKER_HPP_
3 
4 #include <boost/optional.hpp>
5 #include <dart/dynamics/dynamics.hpp>
6 #include <interactive_markers/interactive_marker_server.h>
7 #include <visualization_msgs/InteractiveMarker.h>
8 
11 
12 namespace aikido {
13 namespace rviz {
14 
16 
18 {
19 public:
21  ResourceServer* resourceServer,
22  interactive_markers::InteractiveMarkerServer* markerServer,
23  const std::string& name,
24  const dart::dynamics::ShapeFrame* shapeFrame,
25  const std::string& frameId);
26 
27  ShapeFrameMarker(const ShapeFrameMarker&) = delete;
28  ShapeFrameMarker& operator=(const ShapeFrameMarker&) = delete;
29 
30  virtual ~ShapeFrameMarker();
31 
32  bool update();
33 
34  void SetColor(const Eigen::Vector4d& color);
35  void ResetColor();
36 
37 private:
39  interactive_markers::InteractiveMarkerServer* mMarkerServer;
40  visualization_msgs::InteractiveMarker mInteractiveMarker;
41  visualization_msgs::InteractiveMarkerControl* mVisualControl;
42 
43  const dart::dynamics::ShapeFrame* mShapeFrame;
44  std::string mFrameId;
45 
46  bool mExists;
48  std::size_t mVersion;
49 
52  boost::optional<Eigen::Vector4d> mColor;
53 };
54 
55 } // namespace rviz
56 } // namespace aikido
57 
58 #endif
aikido::rviz::ShapeFrameMarker::mExists
bool mExists
Definition: ShapeFrameMarker.hpp:46
aikido::rviz::ShapeFrameMarker
Definition: ShapeFrameMarker.hpp:17
aikido::rviz::ResourceServer
Definition: ResourceServer.hpp:51
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::rviz::ShapeFrameMarker::mInteractiveMarker
visualization_msgs::InteractiveMarker mInteractiveMarker
Definition: ShapeFrameMarker.hpp:40
aikido::rviz::ShapeFrameMarker::mShapeFrame
const dart::dynamics::ShapeFrame * mShapeFrame
Definition: ShapeFrameMarker.hpp:43
aikido::rviz::ShapeFrameMarker::mFrameId
std::string mFrameId
Definition: ShapeFrameMarker.hpp:44
aikido::rviz::ShapeFrameMarker::mVisualControl
visualization_msgs::InteractiveMarkerControl * mVisualControl
Definition: ShapeFrameMarker.hpp:41
aikido::rviz::ShapeFrameMarker::mVersion
std::size_t mVersion
Definition: ShapeFrameMarker.hpp:48
aikido::rviz::ShapeFrameMarker::mResourceServer
ResourceServer * mResourceServer
Definition: ShapeFrameMarker.hpp:38
pointers.hpp
aikido::rviz::ShapeFrameMarker::mShowCollision
bool mShowCollision
Definition: ShapeFrameMarker.hpp:51
aikido::rviz::ShapeFrameMarker::mColor
boost::optional< Eigen::Vector4d > mColor
Definition: ShapeFrameMarker.hpp:52
aikido::rviz::ShapeFrameMarker::mMarkerServer
interactive_markers::InteractiveMarkerServer * mMarkerServer
Definition: ShapeFrameMarker.hpp:39
ResourceServer.hpp
aikido::rviz::ShapeFrameMarker::mForceUpdate
bool mForceUpdate
Definition: ShapeFrameMarker.hpp:47
aikido::rviz::ShapeFrameMarker::mShowVisual
bool mShowVisual
Definition: ShapeFrameMarker.hpp:50
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21