Visualization.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <optional>
5 #include <vector>
6 
10 
13 
21 
23 {
24 
25  class Visu : public armarx::Logging
26  {
27  public:
28  Visu(const PoseSegment& poseSegment,
29  const FaceRecognitionSegment& faceRecognitionSegment,
30  const PersonInstanceSegment& personInstanceSegment);
31 
33  const std::string& prefix = "visu.");
34  void init();
35  void connect(const viz::Client& arviz, DebugObserverInterfacePrx debugObserver = nullptr);
36 
37  private:
38  void visualizeRun();
39  void visualizeOnce(const Time& timestamp);
40 
41  void visualizeHumanPoses(armarx::viz::HumanPoseLayers& layers,
42  const std::vector<armarx::armem::human::HumanPose>& humanPoses);
43  void visualizeFaceRecognitions(
44  armarx::viz::Layer& faceRecognitionLayer,
45  const std::vector<armarx::armem::human::FaceRecognition>& faceRecognitions);
46 
47  void visualizePersonInstances(
48  armarx::viz::Layer& personInstanceLayer,
49  const std::vector<armarx::armem::human::PersonInstance>& personInstances);
50 
51  private:
52  viz::Client arviz;
53  std::optional<DebugObserverHelper> debugObserver;
54 
55  const PoseSegment& poseSegment;
56  const FaceRecognitionSegment& faceRecognitionSegment;
57  const PersonInstanceSegment& personInstanceSegment;
58 
59  struct Properties
60  {
61  bool enabled = true;
62  float frequencyHz = 25;
63  } p;
64 
66  };
67 
68 } // namespace armarx::armem::server::human
Client.h
armarx::armem::server::human::Visu::connect
void connect(const viz::Client &arviz, DebugObserverInterfacePrx debugObserver=nullptr)
Definition: Visualization.cpp:53
armarx::armem::server::human::Visu
Definition: Visualization.h:25
armarx::armem::server::human::PoseSegment
Definition: PoseSegment.h:37
armarx::armem::server::human::Visu::defineProperties
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="visu.")
Definition: Visualization.cpp:40
armarx::armem::server::human::Visu::init
void init()
Definition: Visualization.cpp:47
FaceRecognition.h
types.h
PoseSegment.h
types.h
enabled
std::atomic< bool > * enabled
Definition: RemoteGuiWidgetController.cpp:75
PersonInstance.h
HumanPose.h
TaskUtil.h
PersonInstanceSegment.h
armarx::armem::server::human::PersonInstanceSegment
Definition: PersonInstanceSegment.h:33
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::armem::server::human::facerecog::Segment
Definition: Segment.h:34
DebugObserverHelper.h
armarx::Logging
Base Class for all Logging classes.
Definition: Logging.h:232
armarx::armem::server::human
Definition: aron_conversions.cpp:11
Segment.h
IceUtil::Handle< class PropertyDefinitionContainer >
IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface >
armarx::viz::HumanPoseLayers
Definition: HumanPose.h:15
armarx::armem::server::human::Visu::Visu
Visu(const PoseSegment &poseSegment, const FaceRecognitionSegment &faceRecognitionSegment, const PersonInstanceSegment &personInstanceSegment)
Definition: Visualization.cpp:29
Logging.h
armarx::viz::Client
Definition: Client.h:109
armarx::viz::Layer
Definition: Layer.h:12