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
std::string timestamp()
Base Class for all Logging classes.
Definition Logging.h:240
IceUtil::Handle< RunningTask< T > > pointer_type
Shared pointer type for convenience.
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="visu.")
Visu(const PoseSegment &poseSegment, const FaceRecognitionSegment &faceRecognitionSegment, const PersonInstanceSegment &personInstanceSegment)
void connect(const viz::Client &arviz, DebugObserverInterfacePrx debugObserver=nullptr)
facerecog::Segment FaceRecognitionSegment
Definition Segment.h:66
armarx::core::time::DateTime Time
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.