Aikido
SkeletonMarker.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_RVIZ_SKELETONMARKER_HPP_
2 #define AIKIDO_RVIZ_SKELETONMARKER_HPP_
3 
4 #include <unordered_map>
5 
6 #include <dart/dynamics/dynamics.hpp>
7 #include <interactive_markers/interactive_marker_server.h>
8 #include <visualization_msgs/InteractiveMarker.h>
9 
13 
14 namespace aikido {
15 namespace rviz {
16 
17 AIKIDO_DECLARE_POINTERS(SkeletonMarker)
18 
20 {
21 public:
23  ResourceServer* resourceServer,
24  interactive_markers::InteractiveMarkerServer* markerServer,
25  const dart::dynamics::WeakSkeletonPtr& skeleton,
26  const std::string& frameId);
27 
28  dart::dynamics::SkeletonPtr getSkeleton() const;
29  std::vector<BodyNodeMarkerPtr> bodynode_markers() const;
30 
31  bool update();
32 
33  BodyNodeMarkerPtr GetBodyNodeMarker(
34  dart::dynamics::BodyNode const* bodynode) const;
35 
36  void SetColor(const Eigen::Vector4d& color);
37  void ResetColor();
38 
39 private:
40  dart::dynamics::WeakSkeletonPtr mSkeleton;
42  interactive_markers::InteractiveMarkerServer* mMarkerServer;
43  std::unordered_map<dart::dynamics::BodyNode const*, BodyNodeMarkerPtr>
45 
46  bool mHasColor;
47  std::string mFrameId;
48  Eigen::Vector4d mColor;
49 };
50 
51 } // namespace rviz
52 } // namespace aikido
53 
54 #endif
aikido::rviz::SkeletonMarker::mResourceServer
ResourceServer * mResourceServer
Definition: SkeletonMarker.hpp:41
aikido::rviz::SkeletonMarker::mFrameId
std::string mFrameId
Definition: SkeletonMarker.hpp:47
aikido::rviz::ResourceServer
Definition: ResourceServer.hpp:51
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::rviz::SkeletonMarker::mColor
Eigen::Vector4d mColor
Definition: SkeletonMarker.hpp:48
aikido::rviz::SkeletonMarker
Definition: SkeletonMarker.hpp:19
aikido::rviz::SkeletonMarker::mSkeleton
dart::dynamics::WeakSkeletonPtr mSkeleton
Definition: SkeletonMarker.hpp:40
pointers.hpp
aikido::rviz::BodyNodeMarkerPtr
std::shared_ptr< BodyNodeMarker > BodyNodeMarkerPtr
Definition: BodyNodeMarker.hpp:17
BodyNodeMarker.hpp
aikido::rviz::SkeletonMarker::mMarkerServer
interactive_markers::InteractiveMarkerServer * mMarkerServer
Definition: SkeletonMarker.hpp:42
ResourceServer.hpp
aikido::rviz::SkeletonMarker::mHasColor
bool mHasColor
Definition: SkeletonMarker.hpp:46
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
aikido::rviz::SkeletonMarker::mBodyNodeMarkers
std::unordered_map< dart::dynamics::BodyNode const *, BodyNodeMarkerPtr > mBodyNodeMarkers
Definition: SkeletonMarker.hpp:44