Visualization.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <atomic>
4 #include <cstdint>
5 #include <mutex>
6 #include <utility>
7 
8 #include <Eigen/Core>
9 
11 
15 
18 
20 {
21 
23  {
24 
25  public:
26  struct Params
27  {
29 
30  bool enableVisualization = true;
32 
33  int hideDelaySeconds = 2; // [s]
34 
35  int alphaValue = 30;
36  };
37 
38  Visualization(armarx::viz::Client& arviz, const Params& params);
39 
40  Visualization(Visualization&& other) noexcept :
41  params(std::move(other.params)), arviz(other.arviz), robotVis(other.robotVis)
42  {
43  }
44 
45  void setTarget(const core::Pose& m);
46 
47  void success();
48  void failed();
49 
50 
51  void visualize(const core::GlobalTrajectory& trajectory);
52 
53  void
54  updateParams(const Params& params)
55  {
56  std::lock_guard g{paramsMutex};
57  this->params = params;
58  }
59 
60  private:
61  void visualizeTrajectory(const core::GlobalTrajectory& trajectory);
62 
63  void asyncHideDelayed();
64 
65  std::atomic<std::int64_t> lastUpdate = 0;
66 
67  // Params
68  std::mutex paramsMutex;
69  Params params;
70 
71  // ArViz
72  std::mutex mutex;
74 
75  viz::Robot robotVis{""};
76  };
77 
78 } // namespace armarx::navigation::util
Client.h
armarx::navigation::core::GlobalTrajectory
Definition: Trajectory.h:70
armarx::navigation::util::Visualization::failed
void failed()
Definition: Visualization.cpp:162
armarx::navigation::util::Visualization::Params::alphaValue
int alphaValue
Definition: Visualization.h:35
Robot.h
armarx::navigation::util
This file is part of ArmarX.
Definition: geometry.cpp:12
armarx::navigation::core::Pose
Eigen::Isometry3f Pose
Definition: basic_types.h:31
basic_types.h
ScopedClient.h
armarx::viz::ScopedClient
viz::Client that will delete (clear) committed layers when destroyed.
Definition: ScopedClient.h:42
armarx::navigation::util::Visualization::updateParams
void updateParams(const Params &params)
Definition: Visualization.h:54
armarx::navigation::util::Visualization::visualize
void visualize(const core::GlobalTrajectory &trajectory)
Definition: Visualization.cpp:37
armarx::navigation::util::Visualization::setTarget
void setTarget(const core::Pose &m)
Definition: Visualization.cpp:181
armarx::navigation::util::Visualization
Definition: Visualization.h:22
armarx::navigation::util::Visualization::Visualization
Visualization(Visualization &&other) noexcept
Definition: Visualization.h:40
armarx::navigation::util::Visualization::Params::hideDelaySeconds
int hideDelaySeconds
Definition: Visualization.h:33
armarx::viz::Robot
Definition: Robot.h:10
armarx::navigation::util::Visualization::Visualization
Visualization(armarx::viz::Client &arviz, const Params &params)
Definition: Visualization.cpp:23
armarx::navigation::util::Visualization::Params::enableTrajectoryVisualization
bool enableTrajectoryVisualization
Definition: Visualization.h:31
armarx::navigation::util::Visualization::Params
Definition: Visualization.h:26
Trajectory.h
armarx::viz::Client
Definition: Client.h:117
armarx::PackagePath
Definition: PackagePath.h:52
armarx::navigation::util::Visualization::Params::robotModelFileName
armarx::PackagePath robotModelFileName
Definition: Visualization.h:28
armarx::navigation::util::Visualization::Params::enableVisualization
bool enableVisualization
Definition: Visualization.h:30
armarx::navigation::util::Visualization::success
void success()
Definition: Visualization.cpp:143
PackagePath.h